#pragma once // ************************************************************************** // // (C) Copyright 2009 Swiss SIMTEC AG // // ************************************************************************** // // $HeadURL$ // $LastChangedBy$ // $LastChangedDate$ // $LastChangedRevision$ // // ************************************************************************** #include #include #include #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; }; }