9 #ifndef hlaMessageFactory_H_
10 #define hlaMessageFactory_H_
22 #include <vlutil/vlNetTypes.h>
24 #include <vl/rtiCompatibility.h>
25 #include <vl/hlaObject.h>
84 static const char* decodeUpdateObjectName(
const DtPacket* packet,
int& length);
87 static const char* decodeRemoveObjectName(
const DtPacket* packet,
int& length);
90 static const char* decodeUpdateObjectTag(
const DtPacket* packet,
int& length);
93 static const char* decodeRemoveObjectTag(
const DtPacket* packet,
int& length);
96 static const char* decodeInteractionTag(
const DtPacket* packet,
int& length);
103 static bool decodeInteractionRegionID(
const DtPacket *packet,
DtRegionID& regionID,
unsigned int index = 0);
107 static bool decodeObjectRegionID(
const DtPacket *packet,
DtRegionID& regionID,
unsigned int index = 0 );
118 static unsigned int decodeInteractionRegionIdSet(
const DtPacket *packet,
DtRegionIDSet& regionIDSet );
150 static size_t calculateInteractionSize(
156 static size_t calculateInteractionSize(
164 static void encodeInteraction(
DtPacket&,
173 static void encodeInteraction(
DtPacket&,
180 static std::auto_ptr<DtLgrHandleValueMap> decodeParameterHandleValues(
const DtPacket* packet);
181 static std::auto_ptr<DtLgrHandleValueReferenceMap> decodeParameterReferences(
const DtPacket* packet);
183 static void decodeParameterHandles(
const DtPacket* packet,std::vector<DtLgrHlaHandle>& handles);
184 static void setParameterHandles(
DtPacket* packet,
const std::vector<DtLgrHlaHandle>& handles);
186 static std::auto_ptr<DtLgrHandleValueMap> decodeAttributeHandleValues(
const DtPacket* packet);
187 static std::auto_ptr<DtLgrHandleValueReferenceMap> decodeAttributeReferences(
const DtPacket* packet);
189 static void decodeAttributeHandles(
const DtPacket* packet,std::vector<DtLgrHlaHandle>& handles);
190 static void setAttributeHandles(
DtPacket* packet,
const std::vector<DtLgrHlaHandle>& handles);
195 static DtDDMRegionSP decodeInteractionDDMRegion(
const DtPacket *packet,
197 DtIDRegionMap* regionCache=0,
bool updateRegionExtents=
false);
202 static DtDDMRegionSP decodeObjectDDMRegion(
const DtPacket *packet,
204 DtIDRegionMap* regionCache=0,
bool updateRegionExtents=
false);
210 static unsigned int decodeInteractionDDMRegionSet(
const DtPacket *packet,
212 DtIDRegionMap* regionCache=0,
bool updateRegionExtents=
false );
218 static unsigned int decodeObjectDDMRegionSet(
const DtPacket *packet,
220 DtIDRegionMap* regionCache=0,
bool updateRegionExtents=
false );
224 static unsigned int decodeInteractionDDMRegionDescSet(
const DtPacket *packet,
229 static unsigned int decodeObjectDDMRegionDescSet(
const DtPacket *packet,
245 static int bufferSizeOfMap(
const RTI::AttributeHandleValueMap& map);
246 static int bufferSizeOfMap(
const RTI::ParameterHandleValueMap& map);
248 static int bufferSizeOfSet(
const RTI::ParameterHandleValuePairSet&
set);
249 static int bufferSizeOfSet(
const RTI::AttributeHandleValuePairSet&
set);
255 static int bufferSizeOfRegionDescriptorSet(
const DtRegionDescSet&
set );
258 static void getRegionExtents(
const char* data,
259 DtExtentDescSet& extentSet,
unsigned int numExtents, std::set<DtString>* dimensionNameSet=0);
266 static void updateRegion(DtDDMRegionSP region,
DtExtentDescSet& extentSet);
276 const void* buffer,
unsigned int memorySize,
int numItems);
279 const void* buffer,
unsigned int memorySize,
int numItems);
282 void* buffer,
unsigned int memorySize);
285 void* buffer,
unsigned int memorySize);
292 void *buffer,
unsigned int memorySize );