WSF
WsfBMCueMessage.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/*******************************************************************************
10*
11* File: WsfBMCueMessage.hpp
12*
13* Classification: UNCLASSIFIED
14*
15* Details:
16*
17* Contract Number:
18* Contractor Name: Radiance Technologies
19* Address: 350 Wynn Drive
20* Huntsville, AL 35805
21*
22* Abstract:
23*
24*******************************************************************************/
25
26#ifndef WSF_BM_CUE_MESSAGE_HPP
27#define WSF_BM_CUE_MESSAGE_HPP
28
29#include <memory>
30#include <WsfBMCommon.hpp>
31
32#include <WsfMessage.hpp>
33#include <WsfLocalTrack.hpp>
34
35#include <iadsLib/cueMessage.hpp>
37
38class WsfPlatform;
39class WsfSimulation;
40class WsfSensor;
41
42class WsfBMCueMessage : public WsfMessage, public WsfBMManagedTypeWrapper<il::baseMessage>
43{
44 public:
47 WsfBMCueMessage(WsfPlatform* plat, const std::shared_ptr<il::baseMessage>& message);
48
49 WSF_IADS_C2_LIB_EXPORT WsfBMCueMessage(const WsfBMCueMessage& aSrc);
50
51 virtual WSF_IADS_C2_LIB_EXPORT ~WsfBMCueMessage();
52
53 WsfBMCueMessage* Clone() const override;
54
55 const char* GetScriptClassName() const override;
56 virtual const char* GetBaseClassName();
57 static WsfStringId GetTypeId();
58
59 void SetCueTime(const double sim_time_s);
60 double GetCueTime() const;
61
62 void SetReferenceTrackID(const WsfTrackId& track_id);
63 const WsfTrackId GetReferenceTrackID() const;
64
65 void SetLocalTrackID(const WsfTrackId& track_id);
66 const WsfTrackId GetLocalTrackID() const;
67
68 void SetInitiatingPlatform(const WsfPlatform* plat);
69 const WsfPlatform* GetInitiatingPlatform(WsfSimulation* sim_ptr) const;
70
71 void SetCuedSensor(const WsfPlatform* plat, const WsfSensor* sensor);
72 const WsfPlatform* GetCuedPlatform(WsfSimulation* sim_ptr) const;
73 const WsfSensor* GetCuedSensor(WsfSimulation* sim_ptr) const;
74
75 void SetCueReason(const il::cueMessage::CueReason reason);
76 il::cueMessage::CueReason GetCueReason() const;
77 std::string GetCueReasonString() const;
78
79 void Print() const;
80
81 inline std::shared_ptr<const il::cueMessage> GetRawMessagePtr() const { return std::static_pointer_cast <il::cueMessage>(m_wrapped_ptr); }
82
83 private:
84 inline std::shared_ptr<il::cueMessage> GetMutableRawMessagePtr() { return std::static_pointer_cast <il::cueMessage>(m_wrapped_ptr); }
85};
86
87#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
void SetReferenceTrackID(const WsfTrackId &track_id)
Definition WsfBMCueMessage.cpp:101
const WsfTrackId GetReferenceTrackID() const
Definition WsfBMCueMessage.cpp:106
void SetCueTime(const double sim_time_s)
Definition WsfBMCueMessage.cpp:91
void SetLocalTrackID(const WsfTrackId &track_id)
Definition WsfBMCueMessage.cpp:111
void SetInitiatingPlatform(const WsfPlatform *plat)
Definition WsfBMCueMessage.cpp:121
const WsfTrackId GetLocalTrackID() const
Definition WsfBMCueMessage.cpp:116
il::cueMessage::CueReason GetCueReason() const
Definition WsfBMCueMessage.cpp:152
std::shared_ptr< const il::cueMessage > GetRawMessagePtr() const
Definition WsfBMCueMessage.hpp:81
const WsfPlatform * GetInitiatingPlatform(WsfSimulation *sim_ptr) const
Definition WsfBMCueMessage.cpp:126
const WsfPlatform * GetCuedPlatform(WsfSimulation *sim_ptr) const
Definition WsfBMCueMessage.cpp:137
void SetCuedSensor(const WsfPlatform *plat, const WsfSensor *sensor)
Definition WsfBMCueMessage.cpp:131
const WsfSensor * GetCuedSensor(WsfSimulation *sim_ptr) const
Definition WsfBMCueMessage.cpp:142
void SetCueReason(const il::cueMessage::CueReason reason)
Definition WsfBMCueMessage.cpp:147
virtual const char * GetBaseClassName()
Definition WsfBMCueMessage.cpp:81
static WsfStringId GetTypeId()
Definition WsfBMCueMessage.cpp:86
WsfBMCueMessage * Clone() const override
Definition WsfBMCueMessage.cpp:71
double GetCueTime() const
Definition WsfBMCueMessage.cpp:96
virtual WSF_IADS_C2_LIB_EXPORT ~WsfBMCueMessage()
Definition WsfBMCueMessage.cpp:67
std::string GetCueReasonString() const
Definition WsfBMCueMessage.cpp:157
const char * GetScriptClassName() const override
Definition WsfBMCueMessage.cpp:76
WsfBMCueMessage(WsfSimulation *simPtr)
Definition WsfBMCueMessage.cpp:37
void Print() const
Definition WsfBMCueMessage.cpp:162
WsfBMManagedTypeWrapper(const std::string &script_class_name)
Definition WsfBMGenericTypeWrapper.hpp:58
std::shared_ptr< il::baseMessage > m_wrapped_ptr
Definition WsfBMGenericTypeWrapper.hpp:48
WsfMessage(WsfStringId aType)
Constructor for XIO (de)serialization.
Definition WsfMessage.cpp:25
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
Copyrights Multiple, All Rights Reserved