VR-Link API Documentation for HLA 1.3
aggregateSR.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)