![]() |
VR-Vantage 1.4.1 API Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfExtensions.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 // Extensions applied to basic state repositories 00010 00011 #ifndef VRFEXTENSIONS_H 00012 #define VRFEXTENSIONS_H 00013 00014 #include <vlutil/vlString.h> 00015 00016 #include <vrfExtObjects/vrfExtObjectsDefines.h> 00017 #include <vrfExtProtocol/rangeItem.h> 00018 00019 class DtIfVrfObjectData; 00020 class DtObjectType; 00021 class DtVector; 00022 00023 class DT_DLL_vrfExtObjects DtVrfExtensions 00024 { 00025 public: 00026 // Constructor 00027 DtVrfExtensions(); 00028 00029 virtual ~DtVrfExtensions(); 00030 00031 // copy constructor 00032 DtVrfExtensions(const DtVrfExtensions& orig); 00033 00034 // assignment operator 00035 DtVrfExtensions& operator=(const DtVrfExtensions& orig); 00036 00037 virtual const DtString& name() const; 00038 virtual void setName(const DtString& n); 00039 00040 virtual const DtString& vrfObjectLabel() const; 00041 virtual void setVrfObjectLabel(const DtString& l); 00042 00043 virtual const DtString& echelonId() const; 00044 virtual void setEchelonId(const DtString& l); 00045 00046 virtual const DtString& overlayParent() const; 00047 virtual void setOverlayParent(const DtString& l); 00048 00049 virtual bool isVrfSimulated() const; 00050 virtual void setIsVrfSimulated(bool vrf); 00051 00052 virtual DtU32 vrfSessionId() const; 00053 virtual void setVrfSessionId(DtU32 id); 00054 00055 virtual void setVrfMessageVersionSupported(DtU32 id); 00056 virtual DtU32 vrfMessageVersionSupported() const; 00057 00058 virtual void setObjectType(const DtObjectType&); 00059 virtual const DtObjectType& objectType() const; 00060 00061 virtual void setIsSubordinateOfForce(bool b); 00062 virtual bool isSubordinateOfForce() const; 00063 00064 // Independently tasked status (individual entities and aggregates 00065 // only). Default is false. 00066 // @{ 00067 virtual void setIndependentlyTasked(bool yesNo); 00068 virtual bool independentlyTasked() const; 00069 // @} 00070 00071 virtual int superType() const; 00072 00073 // Under fire status (individual entities and aggregates 00074 // only). Default is false. 00075 // @{ 00076 virtual void setUnderFire(bool yesNo); 00077 virtual bool underFire() const; 00078 // @} 00079 00080 virtual void setHasPlan(bool yesNo); 00081 virtual bool hasPlan() const; 00082 00083 // Indicates whether the entity is executing a plan. 00085 virtual void setExecutingPlan(bool yesNo); 00086 virtual bool executingPlan() const; 00088 00089 virtual void setIsCurrentlyTasked(bool yesNo); 00090 virtual bool isCurrentlyTasked() const; 00091 00092 virtual void setRulesOfEngagement(const DtString&); 00093 virtual const DtString& rulesOfEngagement() const; 00094 00095 // Sets up internal information based on session id and vrf object data. Returns true if 00096 // anything has changed due to the new setting of information 00097 virtual bool setupFromVrfObjectData(const DtIfVrfObjectData& data); 00098 00100 //{@ 00101 virtual void addRangeItem(const DtRangeItem&); 00102 virtual void removeRangeItem(int index); 00103 virtual void setRangeItems(const DtRangeItems&); 00104 const DtRangeItems& rangeItems() const; 00106 00110 virtual void setBoundingVolume(const DtVector&); 00111 virtual const DtVector& boundingVolume() const; 00112 00113 virtual void setBoundingVolumeOffset(const DtVector&); 00114 virtual const DtVector& boundingVolumeOffset() const; 00116 00117 public: 00118 // createVrfObjectDataMessage() 00119 // allocates myVrfObjectDataMessage, a DtIfVrfObjectData 00120 // used by VR-Forces as extended vrf object data message information 00121 virtual bool createVrfObjectDataMessage(); 00122 00123 // vrfObjectDataMessage() 00124 // returns the myVrfObjectDataMessage for inspection by 00125 // the caller. If myVrfObjectDataMessage is NULL, it is created. 00126 virtual DtIfVrfObjectData* vrfObjectDataMessage() const; 00127 00128 protected: 00129 // Used internally to signal that this structure has been modified. By default does nothing 00130 virtual void extensionModified(); 00131 00132 protected: 00133 DtString myName; 00134 DtIfVrfObjectData* myVrfObjectDataMessage; 00135 }; 00136 00137 #endif 00138