![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtDesignatorDecoder_H_ 00010 #define DtDesignatorDecoder_H_ 00011 00012 00013 #include "hBaseEmbedDec.h" 00014 00018 00019 class DT_DLL_VL DtDesignatorRepository; 00020 00023 #define DtDECLARE_DESIGNATOR_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtDesignatorRepository, attrName) 00025 00030 00031 class DT_DLL_VL DtDesignatorDecoder : public DtBaseEmbeddedSystemDecoder 00032 { 00033 public: 00034 00036 DtDesignatorDecoder( 00037 DtExerciseConn* exConn, 00038 DtObjClassDesc* classDesc); 00039 00041 virtual ~DtDesignatorDecoder(); 00042 00044 DtDesignatorDecoder(const DtDesignatorDecoder& orig); 00045 00047 DtDesignatorDecoder& operator=(const DtDesignatorDecoder& orig); 00048 00049 public: 00050 00052 static DtHlaStateDecoder* create( 00053 DtExerciseConn* exConn, 00054 DtObjClassDesc* classDesc); 00055 00056 protected: 00057 00061 void addMyDecoders(); 00062 00064 DtDECLARE_DESIGNATOR_ATTR_DECODER(CodeName); 00065 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorCode); 00066 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorID); 00067 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorSpotLocation); 00068 DtDECLARE_DESIGNATOR_ATTR_DECODER(RelativeSpotLocation); 00069 00071 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatedObject); 00072 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorWavelength); 00073 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorPower); 00074 DtDECLARE_DESIGNATOR_ATTR_DECODER(DRAlgorithm); 00075 DtDECLARE_DESIGNATOR_ATTR_DECODER(SpotLinearAcceleration); 00077 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatedObjectIdentifier); 00078 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorEmissionWavelength); 00079 DtDECLARE_DESIGNATOR_ATTR_DECODER(DesignatorOutputPower); 00080 DtDECLARE_DESIGNATOR_ATTR_DECODER(DeadReckoningAlgorithm); 00081 DtDECLARE_DESIGNATOR_ATTR_DECODER(SpotLinearAccelerationVector); 00082 }; 00083 00089 #define DtDEFINE_SIMPLE_DESIGNATOR_ATTR_DECODER_WITH_CAST( \ 00090 attrName, netType, mutator, castExpr) \ 00091 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00092 DtDesignatorDecoder, DtDesignatorRepository, \ 00093 attrName, netType, mutator, castExpr) 00094 00095 #define DtDEFINE_SIMPLE_DESIGNATOR_ATTR_DECODER( \ 00096 attrName, netType, inspector) \ 00097 DtDEFINE_SIMPLE_DESIGNATOR_ATTR_DECODER_WITH_CAST( \ 00098 attrName, netType, inspector, (netType)) 00099 00100 #endif //DtDesignatorDecoder_H_ 00101 00102 #endif //DtHLA 00103