![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 00007 #ifndef _aggregateSR_H_ 00008 #define _aggregateSR_H_ 00009 00010 00011 00012 #include "baseEntitySR.h" 00013 #include "aggEntList.h" 00014 #include "aggAggList.h" 00015 #include "varDatumRec.h" 00016 #include "objDesList.h" 00017 00022 00029 class DT_DLL_VL DtAggregateStateRepository : public DtBaseEntityStateRepository 00030 { 00031 00032 public: 00034 #if DtHLA 00035 enum {AGGREGATE_SR_MARKING_TEXT_LENGTH=11}; 00036 #else 00037 enum {AGGREGATE_SR_MARKING_TEXT_LENGTH=31}; 00038 #endif 00039 00041 DtAggregateStateRepository(); 00042 00044 virtual ~DtAggregateStateRepository(); 00045 00047 DtAggregateStateRepository(const DtAggregateStateRepository& orig); 00048 00050 DtAggregateStateRepository& operator=( 00051 const DtAggregateStateRepository& orig); 00052 00054 virtual DtStateRepository* clone(bool copy = false) const; 00055 00057 virtual void setAggregateID(const DtEntityIdentifier& id); 00058 virtual const DtEntityIdentifier& aggregateID() const; 00059 00061 virtual void setForceId(DtForceType force); 00062 virtual DtForceType forceId() const; 00063 00065 virtual void setAggregateState(DtAggregateState value); 00066 virtual DtAggregateState aggregateState() const; 00067 00069 virtual void setAggregateType(const DtEntityType& type); 00070 virtual const DtEntityType& aggregateType() const; 00071 00073 virtual void setFormation(DtAggregateFormation value); 00074 virtual DtAggregateFormation formation() const; 00075 00077 virtual void setMarkingCharacterSet(DtCharacterSet value); 00078 virtual DtCharacterSet markingCharacterSet() const; 00079 00081 virtual void setMarkingText(DtU8* copyFrom); 00082 virtual void setMarkingText(const DtString& text); 00083 virtual void getMarkingText(DtU8* copyTo) const; 00084 virtual const char* markingText() const; 00085 00087 virtual void setDimensions(const DtVector& dims); 00088 virtual const DtVector& dimensions() const; 00089 00091 const DtGlobalObjectDesignatorList& entities() const; 00092 DtGlobalObjectDesignatorList* entities(); 00093 00095 DtGlobalObjectDesignatorList* subAggregates(); 00096 const DtGlobalObjectDesignatorList& subAggregates() const; 00097 00101 virtual bool setNumberOfDIS_Subaggregates(int newNumberOfAggregates); 00102 virtual int numberOfDIS_Subaggregates() const; 00103 00107 virtual bool setNumberOfDIS_Entities(int newNumberOfEntities); 00108 virtual int numberOfDIS_Entities() const; 00109 00113 virtual bool setNumberOfSilentSubaggregates( 00114 int newNumberOfAggregates); 00115 virtual int numberOfSilentSubaggregates() const; 00116 00120 virtual bool setNumberOfSilentEntities(int newNumberOfEntities); 00121 00123 virtual int numberOfSilentEntities() const; 00124 00127 virtual bool setSubaggregateID(int index, 00128 const DtGlobalObjectDesignator& aggID); 00129 virtual bool getSubaggregateID(int index, 00130 DtGlobalObjectDesignator& aggID) const; 00131 00134 virtual bool setEntityID(int index, 00135 const DtGlobalObjectDesignator& entID); 00136 virtual bool getEntityID(int index, 00137 DtGlobalObjectDesignator& entID) const; 00138 00141 virtual bool setSilentAggregateList(int index, 00142 const DtSilentAggregateList& aggList); 00143 virtual bool getSilentAggregateList(int index, 00144 DtSilentAggregateList& aggList) const; 00145 00148 virtual bool setSilentEntityList(int index, 00149 const DtSilentEntityList& entList); 00150 virtual bool getSilentEntityList(int index, 00151 DtSilentEntityList& entList) const; 00152 00156 virtual bool setNumberOfDatumRecords(int newNumberOfRecords); 00157 00159 virtual int numberOfDatumRecords() const; 00160 00163 virtual bool setVariableDatumRecord(int index, 00164 const DtVariableDatumRecord& rec); 00165 virtual bool getVariableDatumRecord(int index, 00166 DtVariableDatumRecord& rec) const; 00167 00169 virtual DtVariableDatumRecord& variableDatumRecordRef(int index); 00170 00172 virtual const DtVariableDatumRecord& variableDatumRecordConstRef( 00173 int index) const; 00174 00175 public: 00176 00178 virtual void printData() const; 00179 00181 virtual void printDataToStream(std::ostream &stream) const; 00182 00183 public: 00184 00185 static DtAggregateStateRepository* create(); 00186 00187 protected: 00188 00191 DtAggregateStateRepository* self() const; 00192 00193 protected: 00194 00195 DtForceType myForceID; 00196 DtAggregateState myAggregateState; 00197 DtAggregateFormation myFormation; 00198 DtCharacterSet myMarkingCharSet; 00199 00200 00201 DtString myMarkingText; 00202 DtVector myDimensions; 00203 00204 DtGlobalObjectDesignatorList myEntities; 00205 DtGlobalObjectDesignatorList mySubAggs; 00206 00207 int myNumberOfSilentAggregateTypes; 00208 DtSilentAggregateList* mySilentAggregates; 00209 00210 int myNumberOfSilentEntityTypes; 00211 DtSilentEntityList* mySilentEntities; 00212 00213 int myNumberOfVariableDatumRecords; 00214 DtVariableDatumRecord* myVariableDatumRecords; 00215 00216 DtVariableDatumRecord myDumRec; 00217 00218 }; 00219 00220 00221 #endif //! DtAggregateStateRepository_H_ 00222 00223 00224