![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef hPointObjEnc_H_ 00010 #define hPointObjEnc_H_ 00011 00012 00013 #include "hEnvObjEnc.h" 00014 00018 00019 class DT_DLL_VL DtPointObjectRepository; 00020 00023 #define DtDECLARE_POINT_OBJ_ATTR_CHECKER(attrName) \ 00024 DtDECLARE_ATTR_CHECKER(DtPointObjectRepository, attrName) 00025 00028 #define DtDECLARE_POINT_OBJ_ATTR_ENCODER(attrName) \ 00029 DtDECLARE_ATTR_ENCODER(DtPointObjectRepository, attrName) 00030 00035 00036 const double PO_ORIENT_THRESH = 0.00001; 00037 00038 class DT_DLL_VL DtPointObjectEncoder : public DtEnvironmentObjectEncoder 00039 { 00040 public: 00041 00043 DtPointObjectEncoder( 00044 DtExerciseConn* exConn, 00045 DtObjClassDesc* classDesc); 00046 00048 virtual ~DtPointObjectEncoder(); 00049 00051 DtPointObjectEncoder(const DtPointObjectEncoder& orig); 00052 00054 DtPointObjectEncoder& operator=(const DtPointObjectEncoder& orig); 00055 00056 public: 00057 00059 static DtHlaStateEncoder* create( 00060 DtExerciseConn* exConn, 00061 DtObjClassDesc* classDesc); 00062 00063 protected: 00064 00066 DtDECLARE_POINT_OBJ_ATTR_CHECKER(Location); 00067 DtDECLARE_POINT_OBJ_ATTR_CHECKER(Orientation); 00068 DtDECLARE_POINT_OBJ_ATTR_CHECKER(PercentComplete); 00069 DtDECLARE_POINT_OBJ_ATTR_CHECKER(DamagedAppearance); 00070 DtDECLARE_POINT_OBJ_ATTR_CHECKER(ObjectPreDistributed); 00071 DtDECLARE_POINT_OBJ_ATTR_CHECKER(Deactivated); 00072 DtDECLARE_POINT_OBJ_ATTR_CHECKER(Smoking); 00073 DtDECLARE_POINT_OBJ_ATTR_CHECKER(Flaming); 00074 00075 DtDECLARE_POINT_OBJ_ATTR_ENCODER(Location); 00076 DtDECLARE_POINT_OBJ_ATTR_ENCODER(Orientation); 00077 DtDECLARE_POINT_OBJ_ATTR_ENCODER(PercentComplete); 00078 DtDECLARE_POINT_OBJ_ATTR_ENCODER(DamagedAppearance); 00079 DtDECLARE_POINT_OBJ_ATTR_ENCODER(ObjectPreDistributed); 00080 DtDECLARE_POINT_OBJ_ATTR_ENCODER(Deactivated); 00081 DtDECLARE_POINT_OBJ_ATTR_ENCODER(Smoking); 00082 DtDECLARE_POINT_OBJ_ATTR_ENCODER(Flaming); 00083 }; 00084 00090 #define DtDEFINE_SIMPLE_POINT_OBJ_ATTR_ENCODER( \ 00091 attrName, netType, inspector) \ 00092 DtDEFINE_SIMPLE_ATTR_ENCODER(DtPointObjectEncoder, \ 00093 DtPointObjectRepository, \ 00094 attrName, netType, inspector) 00095 00101 #define DtDEFINE_SIMPLE_POINT_OBJ_ATTR_CHECKER( \ 00102 attrName, inspector) \ 00103 DtDEFINE_SIMPLE_ATTR_CHECKER(DtPointObjectEncoder, \ 00104 DtPointObjectRepository, \ 00105 attrName, inspector) 00106 00107 #endif //hPointObjEnc_H_ 00108 00109 #endif //DtHLA 00110