VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfExtensions.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <vlpi/entityType.h>
15 #include <vlutil/vlString.h>
16 #include <map>
17 
18 class DtIfVrfObjectData;
19 
21 
23 {
24 public:
25 
26  // Constructor
28 
29  virtual ~DtVrfExtensions();
30 
31  // copy constructor
32  DtVrfExtensions(const DtVrfExtensions& orig);
33 
34  // assignment operator
35  DtVrfExtensions& operator=(const DtVrfExtensions& orig);
36 
37  virtual const DtString& name() const;
38  virtual void setName(const DtString& n);
39 
40  virtual const DtString& vrfObjectLabel() const;
41  virtual void setVrfObjectLabel(const DtString& l);
42 
43  virtual const DtString& echelonId() const;
44  virtual void setEchelonId(const DtString& l);
45 
46  virtual const DtString& overlayParent() const;
47  virtual void setOverlayParent(const DtString& l);
48 
49  virtual bool isVrfSimulated() const;
50  virtual void setIsVrfSimulated(bool vrf);
51 
52  virtual DtU32 vrfSessionId() const;
53  virtual void setVrfSessionId(DtU32 id);
54 
55  virtual void setVrfMessageVersionSupported(DtU32 id);
56  virtual DtU32 vrfMessageVersionSupported() const;
57 
58  virtual void setIsSubordinateOfForce(bool b);
59  virtual bool isSubordinateOfForce() const;
60 
61  // Independently tasked status (individual entities and aggregates
62  // only). Default is false.
63  // @{
64  virtual void setIndependentlyTasked(bool yesNo);
65  virtual bool independentlyTasked() const;
66  // @}
67 
68  // Under fire status (individual entities and aggregates
69  // only). Default is false.
70  // @{
71  virtual void setUnderFire(bool yesNo);
72  virtual bool underFire() const;
73  // @}
74 
75  virtual void setHasPlan(bool yesNo);
76  virtual bool hasPlan() const;
77 
78  // Indicates whether the entity is executing a plan.
80  virtual void setExecutingPlan(bool yesNo);
81  virtual bool executingPlan() const;
83 
84  virtual void setIsCurrentlyTasked(bool yesNo);
85  virtual bool isCurrentlyTasked() const;
86 
87  virtual void setRulesOfEngagement(const DtString&);
88  virtual const DtString& rulesOfEngagement() const;
89 
90  virtual void setIsClutterEntity(bool yesNo);
91  virtual bool isClutterEntity() const;
92 
93  // Sets up internal information based on session id and vrf object data. Returns true if
94  // anything has changed due to the new setting of information
95  virtual bool setupFromVrfObjectData(const DtIfVrfObjectData& data);
96 
98  //{@
99  virtual void addRangeItem(const DtRangeItem&);
100  virtual void removeRangeItem(int index);
101  virtual void setRangeItems(const DtRangeItems&);
102  const DtRangeItems& rangeItems() const;
104 
107  virtual void setExtendedData(const std::map<DtString, DtString>&);
108  virtual const std::map<DtString, DtString>& extendedData() const;
109  virtual void setExtendedData(const DtString& key, const DtString& value);
110  virtual DtString extendedData(const DtString&) const;
112 
116  virtual void setBoundingVolume(const DtVector32&);
117  virtual const DtVector32& boundingVolume() const;
118 
119  virtual void setBoundingVolumeOffset(const DtVector32&);
120  virtual const DtVector32& boundingVolumeOffset() const;
122 
125  static void setExpectedVrfMessageVersion(DtU32 version);
126  static DtU32 expectedVrfMessageVersion();
128 
129  bool isVrfObject() const { return (myVrfObjectDataMessage != nullptr); };
130 
131 public:
132  // createVrfObjectDataMessage()
133  // allocates myVrfObjectDataMessage, a DtIfVrfObjectData
134  // used by VR-Forces as extended vrf object data message information
135  virtual bool createVrfObjectDataMessage();
136 
137  // vrfObjectDataMessage()
138  // returns the myVrfObjectDataMessage for inspection by
139  // the caller. If myVrfObjectDataMessage is NULL, it is created.
140  virtual DtIfVrfObjectData* vrfObjectDataMessage() const;
141 
142 protected:
143  // Used internally to signal that this structure has been modified. By default does nothing
144  virtual void extensionModified();
145 
146 protected:
149 
151 };
Definition: ifVrfObjectData.h:110
Definition: vrfExtensions.h:22
const DtU32 DtNoExpectedVrfMessageVersion
Definition: vrfExtensions.h:20
Definition: rangeItem.h:149
bool isVrfObject() const
Definition: vrfExtensions.h:129
Definition: rangeItem.h:206
DtIfVrfObjectData * myVrfObjectDataMessage
Definition: vrfExtensions.h:148
static DtU32 theExpectedVrfMessageVersion
Definition: vrfExtensions.h:150
DtString myName
Definition: vrfExtensions.h:147
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)