![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtReflectedGriddedData_H_ 00011 #define DtReflectedGriddedData_H_ 00012 00013 #if DtDIS 00014 00015 #include "dReflectedObj.h" 00016 #include "dGridDataDec.h" 00017 #include "gridDataPdu.h" 00018 #include "globalObjDes.h" 00019 #include "objIdHashKey.h" 00020 00021 class DT_DLL_VL DtGriddedDataRepository; 00022 class DT_DLL_VL DtExerciseConn; 00023 class DT_DLL_VL DtReflectedGriddedData; 00024 00028 class DT_DLL_VL DtReflectedGriddedData; 00029 typedef void (*DtGriddedDataCallbackFunction) ( 00030 DtReflectedGriddedData* obj, void* userData); 00031 00035 class DT_DLL_VL DtReflectedGriddedData : public DtReflectedObject 00036 { 00037 public: 00038 00040 typedef DtGriddedDataRepository* (*DtStateRepCreator)(); 00041 00042 public: 00043 00045 DtReflectedGriddedData( 00046 DtExerciseConn* conn, 00047 const DtEntityIdentifier& id, 00048 const DtEntityType& type); 00049 00051 virtual ~DtReflectedGriddedData(); 00052 00055 virtual DtGriddedDataRepository* griddedDataStateRep() const; 00056 00058 virtual DtGriddedDataRepository* gdsr() const; 00059 00061 virtual DtStateRepository* stateRep() const; 00062 00065 virtual DtGriddedDataDecoder* decoder(); 00066 00068 virtual const DtEntityIdentifier& entityId() const; 00069 00071 virtual const DtObjectId& id() const; 00072 00074 virtual const DtObjectId& localId() const; 00075 00078 virtual const DtGlobalObjectDesignator& globalId() const; 00079 00082 virtual void processStateMessage(const DtStateMsg& msg); 00083 00086 virtual DtReflectedGriddedData* next() const; 00087 virtual DtReflectedGriddedData* prev() const; 00088 00090 virtual DtReflectedGriddedData* wrapNext() const; 00091 virtual DtReflectedGriddedData* wrapPrev() const; 00092 00094 virtual void addPostUpdateCallback( 00095 DtGriddedDataCallbackFunction cb, void* userData); 00096 virtual void removePostUpdateCallback( 00097 DtGriddedDataCallbackFunction cb, void* userData); 00098 00100 virtual const DtBaseHashKey& hashKey() const; 00101 00103 virtual DtString idString() const; 00104 00107 virtual void processGriddedData(const DtGriddedDataPdu& pdu); 00108 00109 public: 00110 00112 static void setStateRepCreator(DtStateRepCreator creator); 00113 static DtStateRepCreator stateRepCreator(void); 00114 00115 protected: 00116 00117 static DtStateRepCreator theStateRepCreator; 00118 00119 protected: 00120 00122 DtReflectedGriddedData(const DtReflectedGriddedData& orig); 00123 00125 DtReflectedGriddedData& operator=(const DtReflectedGriddedData& orig); 00126 00127 protected: 00128 00129 DtEntityIdentifier myId; 00130 DtGriddedDataRepository* myStateRep; 00131 DtGriddedDataDecoder* myDecoder; 00132 DtEntityIdentifierHashKey myHashKey; 00133 }; 00134 00135 #endif 00136 #endif 00137