WSF
WsfBMTrackMessage.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9// Classification: UNCLASSIFIED
10
11#ifndef WSF_BM_TRACK_MESSAGE_HPP
12#define WSF_BM_TRACK_MESSAGE_HPP
13
14#include <memory>
15
16#include <WsfBMCommon.hpp>
17#include <WsfMessage.hpp>
18#include <iadsLib/airTargetMessage.hpp>
20#include <UtVec3.hpp>
21#include <WsfGeoPoint.hpp>
22#include <WsfTrackId.hpp>
23#include <WsfCovariance.hpp>
24#include <WsfTrack.hpp>
25#include <UtNullCreate.hpp>
26
27class WsfPlatform;
28
29class WsfBMTrackMessage : public WsfMessage, public WsfBMManagedTypeWrapper<il::baseMessage>
30{
31 public:
32 //WsfBMTrackMessage (const UtNullCreate& aNull);
34 WsfBMTrackMessage(WsfPlatform* aPlatformPtr);
35 WsfBMTrackMessage(WsfPlatform* aPlatformPtr, const std::shared_ptr<il::baseMessage>& message);
36
38
39 virtual ~WsfBMTrackMessage();
40
41 WsfBMTrackMessage* Clone() const override;
42
43 const char* GetScriptClassName() const override;
44 virtual const char* GetBaseClassName();
45 static WsfStringId GetTypeId();
46
47 void SetUpdateInterval(const double update_interval_s);
48 double GetUpdateInterval() const;
49
50 void SetTrackID(const WsfTrackId& track_id);
51 int GetTrackingSystemID() const;
52 int GetTrackingSystemTrackID() const;
53
54 void SetPosition(const double sim_time_s, const WsfGeoPoint& location);
55 const WsfGeoPoint GetPosition() const;
56 double GetPositionTime() const;
57
58 void SetVelocityECEF(const UtVec3d& vel);
59 const UtVec3d GetVelocityECEF() const;
60
61 void SetCovarianceMatrix(const WsfCovariance& covariance);
63
64 void SetHeadingENUDegs(const double heading_deg);
65 void SetOrientationWCSDegs(const double psi, const double theta, const double phi);
66 double GetOrientationWCSPsiDegs() const;
67 double GetOrientationWCSThetaDegs() const;
68 double GetOrientationWCSPhiDegs() const;
69
70 void SetTargetType(const std::string& type, const std::string& subtype);
71 std::string GetTargetType() const;
72 std::string GetTargetSubType() const;
73
75 void SetTrackingStatus(const eTrackingStatus status);
77
78 void SetAltitudeReliable(const bool is_reliable);
79 bool GetAltitudeReliable() const;
80
81 void SetIFF(const WsfTrack::IFF_Status iff);
83
84 void SetManeuveringFlag(const bool is_maneuvering);
85 bool GetManeuveringFlag() const;
86
87 void SetQuantity(const int qty);
88 int GetQuantity() const;
89
90 void SetJamming(const bool is_jamming);
91 bool GetJamming() const;
92
93 void SetJammingPower(const double power);
94 double GetJammingPower() const;
95
96 void SetTargetTruthInfo(const WsfPlatform* target);
97
98 // enum eSensorType { SENS_EW, SENS_TAR, SENS_TTR };
99 void SetReportingSensorType(const il::SensorEnum sensor_type);
100 il::SensorEnum GetReportingSensorType() const;
101
102 inline std::shared_ptr<const il::airTargetMessage> GetRawMessagePtr() const { return std::static_pointer_cast <il::airTargetMessage>(m_wrapped_ptr); }
103
104 private:
105 inline std::shared_ptr<il::airTargetMessage> GetMutableRawMessagePtr() { return std::static_pointer_cast <il::airTargetMessage>(m_wrapped_ptr); }
106
107 // static const std::string C_EW_SENS_STR;
108 // static const std::string C_TAR_SENS_STR;
109 // static const std::string C_TTR_SENS_STR;
110};
111
112#endif
UtCovariance WsfCovariance
Definition WsfCovariance.hpp:17
UtVec3d vel
Definition WsfScriptTrackClass.cpp:1881
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfBMManagedTypeWrapper(const std::string &script_class_name)
Definition WsfBMGenericTypeWrapper.hpp:58
WsfBMTrackMessage * Clone() const override
Definition WsfBMTrackMessage.cpp:67
void SetReportingSensorType(const il::SensorEnum sensor_type)
Definition WsfBMTrackMessage.cpp:371
bool GetManeuveringFlag() const
Definition WsfBMTrackMessage.cpp:321
void SetOrientationWCSDegs(const double psi, const double theta, const double phi)
Definition WsfBMTrackMessage.cpp:163
double GetUpdateInterval() const
Definition WsfBMTrackMessage.cpp:93
eTrackingStatus GetTrackingStatus() const
Definition WsfBMTrackMessage.cpp:227
double GetOrientationWCSThetaDegs() const
Definition WsfBMTrackMessage.cpp:173
double GetPositionTime() const
Definition WsfBMTrackMessage.cpp:124
virtual ~WsfBMTrackMessage()
Definition WsfBMTrackMessage.cpp:63
void SetTargetTruthInfo(const WsfPlatform *target)
Definition WsfBMTrackMessage.cpp:356
void SetTrackID(const WsfTrackId &track_id)
Definition WsfBMTrackMessage.cpp:98
void SetAltitudeReliable(const bool is_reliable)
Definition WsfBMTrackMessage.cpp:255
bool GetJamming() const
Definition WsfBMTrackMessage.cpp:341
void SetPosition(const double sim_time_s, const WsfGeoPoint &location)
Definition WsfBMTrackMessage.cpp:113
int GetTrackingSystemID() const
Definition WsfBMTrackMessage.cpp:103
virtual const char * GetBaseClassName()
Definition WsfBMTrackMessage.cpp:77
std::shared_ptr< const il::airTargetMessage > GetRawMessagePtr() const
Definition WsfBMTrackMessage.hpp:102
int GetQuantity() const
Definition WsfBMTrackMessage.cpp:331
void SetUpdateInterval(const double update_interval_s)
Definition WsfBMTrackMessage.cpp:88
double GetJammingPower() const
Definition WsfBMTrackMessage.cpp:351
double GetOrientationWCSPhiDegs() const
Definition WsfBMTrackMessage.cpp:178
bool GetAltitudeReliable() const
Definition WsfBMTrackMessage.cpp:260
const UtVec3d GetVelocityECEF() const
Definition WsfBMTrackMessage.cpp:134
void SetTrackingStatus(const eTrackingStatus status)
Definition WsfBMTrackMessage.cpp:199
double GetOrientationWCSPsiDegs() const
Definition WsfBMTrackMessage.cpp:168
std::string GetTargetType() const
Definition WsfBMTrackMessage.cpp:189
void SetJamming(const bool is_jamming)
Definition WsfBMTrackMessage.cpp:336
void SetHeadingENUDegs(const double heading_deg)
Definition WsfBMTrackMessage.cpp:158
eTrackingStatus
Definition WsfBMTrackMessage.hpp:74
@ STATUS_DROPPING
Definition WsfBMTrackMessage.hpp:74
@ STATUS_COASTING
Definition WsfBMTrackMessage.hpp:74
@ STATUS_TIMEDOUT
Definition WsfBMTrackMessage.hpp:74
@ STATUS_NORMAL
Definition WsfBMTrackMessage.hpp:74
@ STATUS_DROPPED
Definition WsfBMTrackMessage.hpp:74
const WsfGeoPoint GetPosition() const
Definition WsfBMTrackMessage.cpp:119
WsfTrack::IFF_Status GetIFF() const
Definition WsfBMTrackMessage.cpp:291
void SetQuantity(const int qty)
Definition WsfBMTrackMessage.cpp:326
void SetCovarianceMatrix(const WsfCovariance &covariance)
Definition WsfBMTrackMessage.cpp:139
int GetTrackingSystemTrackID() const
Definition WsfBMTrackMessage.cpp:108
void SetJammingPower(const double power)
Definition WsfBMTrackMessage.cpp:346
void SetVelocityECEF(const UtVec3d &vel)
Definition WsfBMTrackMessage.cpp:129
void SetManeuveringFlag(const bool is_maneuvering)
Definition WsfBMTrackMessage.cpp:316
void SetIFF(const WsfTrack::IFF_Status iff)
Definition WsfBMTrackMessage.cpp:265
static WsfStringId GetTypeId()
Definition WsfBMTrackMessage.cpp:82
const char * GetScriptClassName() const override
Definition WsfBMTrackMessage.cpp:72
il::SensorEnum GetReportingSensorType() const
Definition WsfBMTrackMessage.cpp:393
std::string GetTargetSubType() const
Definition WsfBMTrackMessage.cpp:194
WsfCovariance GetCovarianceMatrix() const
Definition WsfBMTrackMessage.cpp:147
void SetTargetType(const std::string &type, const std::string &subtype)
Definition WsfBMTrackMessage.cpp:183
WsfBMTrackMessage(WsfSimulation *simPtr)
Definition WsfBMTrackMessage.cpp:31
std::shared_ptr< il::baseMessage > m_wrapped_ptr
Definition WsfBMGenericTypeWrapper.hpp:48
Definition WsfGeoPoint.hpp:29
WsfMessage(WsfStringId aType)
Constructor for XIO (de)serialization.
Definition WsfMessage.cpp:25
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
IFF_Status
An enumeration for IFF.
Definition WsfTrack.hpp:149
Copyrights Multiple, All Rights Reserved