Files
qt5-legatus-legacy/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/GeoPairingImpl/GeoPairingImplAirTarget.hpp
T
2026-08-13 18:33:10 +02:00

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;
};
}