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 <vlutil/vlString.h>
15 #include <map>
16 
17 class DtObjectType;
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 setObjectType(const DtObjectType&);
59  virtual const DtObjectType& objectType() const;
60 
61  virtual void setIsSubordinateOfForce(bool b);
62  virtual bool isSubordinateOfForce() const;
63 
64  // Independently tasked status (individual entities and aggregates
65  // only). Default is false.
66  // @{
67  virtual void setIndependentlyTasked(bool yesNo);
68  virtual bool independentlyTasked() const;
69  // @}
70 
71  virtual int superType() const;
72 
73  // Under fire status (individual entities and aggregates
74  // only). Default is false.
75  // @{
76  virtual void setUnderFire(bool yesNo);
77  virtual bool underFire() const;
78  // @}
79 
80  virtual void setHasPlan(bool yesNo);
81  virtual bool hasPlan() const;
82 
83  // Indicates whether the entity is executing a plan.
85  virtual void setExecutingPlan(bool yesNo);
86  virtual bool executingPlan() const;
88 
89  virtual void setIsCurrentlyTasked(bool yesNo);
90  virtual bool isCurrentlyTasked() const;
91 
92  virtual void setRulesOfEngagement(const DtString&);
93  virtual const DtString& rulesOfEngagement() const;
94 
95  virtual void setIsClutterEntity(bool yesNo);
96  virtual bool isClutterEntity() const;
97 
98  // Sets up internal information based on session id and vrf object data. Returns true if
99  // anything has changed due to the new setting of information
100  virtual bool setupFromVrfObjectData(const DtIfVrfObjectData& data);
101 
103  //{@
104  virtual void addRangeItem(const DtRangeItem&);
105  virtual void removeRangeItem(int index);
106  virtual void setRangeItems(const DtRangeItems&);
107  const DtRangeItems& rangeItems() const;
109 
112  virtual void setExtendedData(const std::map<DtString, DtString>&);
113  virtual const std::map<DtString, DtString>& extendedData() const;
114  virtual void setExtendedData(const DtString& key, const DtString& value);
115  virtual DtString extendedData(const DtString&) const;
117 
121  virtual void setBoundingVolume(const DtVector32&);
122  virtual const DtVector32& boundingVolume() const;
123 
124  virtual void setBoundingVolumeOffset(const DtVector32&);
125  virtual const DtVector32& boundingVolumeOffset() const;
127 
130  static void setExpectedVrfMessageVersion(DtU32 version);
131  static DtU32 expectedVrfMessageVersion();
133 
134  bool isVrfObject() const { return (myVrfObjectDataMessage != nullptr); };
135 
136 public:
137  // createVrfObjectDataMessage()
138  // allocates myVrfObjectDataMessage, a DtIfVrfObjectData
139  // used by VR-Forces as extended vrf object data message information
140  virtual bool createVrfObjectDataMessage();
141 
142  // vrfObjectDataMessage()
143  // returns the myVrfObjectDataMessage for inspection by
144  // the caller. If myVrfObjectDataMessage is NULL, it is created.
145  virtual DtIfVrfObjectData* vrfObjectDataMessage() const;
146 
147 protected:
148  // Used internally to signal that this structure has been modified. By default does nothing
149  virtual void extensionModified();
150 
151 protected:
154 
156 };
Definition: ifVrfObjectData.h:110
Definition: vrfExtensions.h:22
const DtU32 DtNoExpectedVrfMessageVersion
Definition: vrfExtensions.h:20
Definition: objectType.h:27
Definition: rangeItem.h:149
bool isVrfObject() const
Definition: vrfExtensions.h:134
Definition: rangeItem.h:206
DtIfVrfObjectData * myVrfObjectDataMessage
Definition: vrfExtensions.h:153
static DtU32 theExpectedVrfMessageVersion
Definition: vrfExtensions.h:155
DtString myName
Definition: vrfExtensions.h:152
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)