![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtDesignatorEncoder_H_ 00010 #define DtDesignatorEncoder_H_ 00011 00012 00013 #include "hBaseEmbedEnc.h" 00014 00018 00019 class DT_DLL_VL DtDesignatorRepository; 00020 00023 #define DtDECLARE_DESIGNATOR_ATTR_CHECKER(attrName) \ 00024 DtDECLARE_ATTR_CHECKER(DtDesignatorRepository, attrName) 00025 00028 #define DtDECLARE_DESIGNATOR_ATTR_ENCODER(attrName) \ 00029 DtDECLARE_ATTR_ENCODER(DtDesignatorRepository, attrName) 00030 00035 00036 class DT_DLL_VL DtDesignatorEncoder : public DtBaseEmbeddedSystemEncoder 00037 { 00038 public: 00039 00041 DtDesignatorEncoder( 00042 DtExerciseConn* exConn, 00043 DtObjClassDesc* classDesc); 00044 00046 virtual ~DtDesignatorEncoder(); 00047 00049 DtDesignatorEncoder(const DtDesignatorEncoder& orig); 00050 00052 DtDesignatorEncoder& operator=(const DtDesignatorEncoder& orig); 00053 00054 public: 00055 00057 static DtHlaStateEncoder* create( 00058 DtExerciseConn* exConn, 00059 DtObjClassDesc* classDesc); 00060 00061 protected: 00062 00063 DtDECLARE_DESIGNATOR_ATTR_CHECKER(CodeName); 00064 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorCode); 00065 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorID); 00066 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorSpotLocation); 00067 DtDECLARE_DESIGNATOR_ATTR_CHECKER(RelativeSpotLocation); 00069 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatedObject); 00070 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorWavelength); 00071 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorPower); 00072 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DRAlgorithm); 00073 DtDECLARE_DESIGNATOR_ATTR_CHECKER(SpotLinearAcceleration); 00075 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatedObjectIdentifier); 00076 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorEmissionWavelength); 00077 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DesignatorOutputPower); 00078 DtDECLARE_DESIGNATOR_ATTR_CHECKER(DeadReckoningAlgorithm); 00079 DtDECLARE_DESIGNATOR_ATTR_CHECKER(SpotLinearAccelerationVector); 00080 00081 DtDECLARE_DESIGNATOR_ATTR_ENCODER(CodeName); 00082 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorCode); 00083 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorID); 00084 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorSpotLocation); 00085 DtDECLARE_DESIGNATOR_ATTR_ENCODER(RelativeSpotLocation); 00087 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatedObject); 00088 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorPower); 00089 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorWavelength); 00090 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DRAlgorithm); 00091 DtDECLARE_DESIGNATOR_ATTR_ENCODER(SpotLinearAcceleration); 00093 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatedObjectIdentifier); 00094 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorOutputPower); 00095 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DesignatorEmissionWavelength); 00096 DtDECLARE_DESIGNATOR_ATTR_ENCODER(DeadReckoningAlgorithm); 00097 DtDECLARE_DESIGNATOR_ATTR_ENCODER(SpotLinearAccelerationVector); 00098 }; 00099 00100 00106 #define DtDEFINE_SIMPLE_DESIGNATOR_ATTR_ENCODER( \ 00107 attrName, netType, inspector) \ 00108 DtDEFINE_SIMPLE_ATTR_ENCODER(DtDesignatorEncoder, \ 00109 DtDesignatorRepository, \ 00110 attrName, netType, inspector) 00111 00117 #define DtDEFINE_SIMPLE_DESIGNATOR_ATTR_CHECKER( \ 00118 attrName, inspector) \ 00119 DtDEFINE_SIMPLE_ATTR_CHECKER(DtDesignatorEncoder, \ 00120 DtDesignatorRepository, \ 00121 attrName, inspector) 00122 00123 #endif //DtDesignatorEncoder_H_ 00124 00125 #endif //DtHLA 00126