78 lines
1.5 KiB
C++
Executable File
78 lines
1.5 KiB
C++
Executable File
#pragma once
|
|
|
|
// **************************************************************************
|
|
//
|
|
// (C) Copyright 2009 Swiss SIMTEC AG
|
|
//
|
|
// **************************************************************************
|
|
//
|
|
// $HeadURL$
|
|
// $LastChangedBy$
|
|
// $LastChangedDate$
|
|
// $LastChangedRevision$
|
|
//
|
|
// **************************************************************************
|
|
|
|
#include <GBL_Global/Types.hpp>
|
|
#include <GBL_Types/Coord3.hpp>
|
|
#include <GBL_Types/Vec3.hpp>
|
|
#include "../logger.h"
|
|
|
|
|
|
namespace N_GeoPairingImpl
|
|
{
|
|
|
|
/**
|
|
* This class holds information about the position and velocity of air targets
|
|
*
|
|
* @author Daniel.Schmid
|
|
* @version 1.0
|
|
* @created 22-Dez-2011 10:46:54
|
|
*/
|
|
class GeoPairingImplAirTarget
|
|
{
|
|
public:
|
|
virtual ~GeoPairingImplAirTarget() = default;
|
|
|
|
SInt32 m_PlayerID;
|
|
N_Types::Coord3 m_Position;
|
|
N_Types::Vec3 m_Direction;
|
|
UInt32 m_PositionTime = 0;
|
|
SInt32 m_State = 0;
|
|
Float64 m_Speed = 0;
|
|
bool m_IRJammer = false;
|
|
|
|
|
|
/**
|
|
* Constructor
|
|
*
|
|
* @param a_playerID
|
|
*/
|
|
explicit GeoPairingImplAirTarget(SInt32 a_playerID);
|
|
|
|
/**
|
|
* updates the position
|
|
*
|
|
* @param a_positionLat
|
|
* @param a_positionLon
|
|
* @param a_positionAlt
|
|
* @param a_positionTime
|
|
*/
|
|
bool updatePosition(Float64 a_positionLat, Float64 a_positionLon, Float64 a_positionAlt, UInt32 a_positionTime);
|
|
|
|
/**
|
|
* updates the air target state
|
|
*
|
|
* @param a_state
|
|
*/
|
|
void updateState(SInt32 a_state);
|
|
|
|
protected:
|
|
|
|
private:
|
|
NGL::INGLLogger &m_logger;
|
|
|
|
};
|
|
|
|
}
|