![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 #if DtHLA 00006 00007 #ifndef VehicleEncoder_H_ 00008 #define VehicleEncoder_H_ 00009 00010 #include "myFomMap.h" 00011 #include <vl/hStateEncoder.h> 00012 00013 class DT_DLL_VL DtEntityStateRepository; 00014 00018 #define DtDECLARE_TEST_ATTR_CHECKER(attrName) \ 00019 DtDECLARE_ATTR_CHECKER(DtEntityStateRepository, attrName) 00020 00024 #define DtDECLARE_TEST_ATTR_ENCODER(attrName) \ 00025 DtDECLARE_ATTR_ENCODER(DtEntityStateRepository, attrName) 00026 00029 class DT_DLL_FOMMAP VehicleEncoder : public DtHlaStateEncoder 00030 { 00031 public: 00032 00033 // default constructor 00034 VehicleEncoder(DtExerciseConn* exConn, DtObjClassDesc* classDesc); 00035 00036 // destructor 00037 virtual ~VehicleEncoder(); 00038 00039 protected: 00040 00041 // Individual attribute encoding functions - one for each attribute. 00042 // This macro expands to look like this: 00043 // static void encodeVehicleType(const DtEntityStateRepository& rep, 00044 // RTI::AttributeHandleValuePairSet* attrs, 00045 // RTI::AttributeHandle attrHandle) 00046 DtDECLARE_TEST_ATTR_ENCODER(VehicleType); 00047 DtDECLARE_TEST_ATTR_ENCODER(GeocLoc); 00048 00049 // Individual attribute checking functions - one for each attribute. 00050 // This macro expands to look like this: 00051 // static bool needNumber(const DtEntityStateRepository& rep, 00052 // const DtEntityStateRepository& asSeenByRemote); 00053 00054 DtDECLARE_TEST_ATTR_CHECKER(VehicleType); 00055 DtDECLARE_TEST_ATTR_CHECKER(GeocLoc); 00056 }; 00057 00058 #endif 00059 #endif