![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtEnvironmentProcessEncoder_H_ 00010 #define DtEnvironmentProcessEncoder_H_ 00011 00012 #include "hStateEncoder.h" 00013 #include "hostStructs.h" 00014 00015 #include "envProcessSR.h" 00016 #include "exerciseConn.h" 00017 #include <matrix/LibMatrix.h> 00018 00022 00023 class DT_DLL_VL DtEnvironmentProcessRepository; 00024 00027 00028 #define DtDECLARE_ENVPROC_ATTR_CHECKER(attrName) \ 00029 DtDECLARE_ATTR_CHECKER(DtEnvironmentProcessRepository, attrName) 00030 00032 00033 #define DtDECLARE_ENVPROC_ATTR_ENCODER(attrName) \ 00034 DtDECLARE_ATTR_ENCODER(DtEnvironmentProcessRepository, attrName) 00035 00040 00041 class DT_DLL_VL DtEnvironmentProcessEncoder : public DtHlaStateEncoder 00042 { 00043 public: 00044 00045 //default constructor 00046 DtEnvironmentProcessEncoder( 00047 DtExerciseConn* exConn, 00048 DtObjClassDesc* classDesc); 00049 00051 virtual ~DtEnvironmentProcessEncoder(); 00052 00053 //copy constructor 00054 DtEnvironmentProcessEncoder(const DtEnvironmentProcessEncoder& orig); 00055 00056 public: 00057 00059 static DtHlaStateEncoder* create( 00060 DtExerciseConn* exConn, DtObjClassDesc* classDesc); 00061 00063 static int recordSize_RPR_20014(unsigned long theType) ; 00064 protected: 00065 00066 DtDECLARE_ENVPROC_ATTR_CHECKER(ProcessIdentifier); 00067 DtDECLARE_ENVPROC_ATTR_CHECKER(Type); 00068 DtDECLARE_ENVPROC_ATTR_CHECKER(ModelType); 00069 DtDECLARE_ENVPROC_ATTR_CHECKER(EnvironmentProcessActive); 00070 DtDECLARE_ENVPROC_ATTR_CHECKER(SequenceNumber); 00071 DtDECLARE_ENVPROC_ATTR_CHECKER(EnvironmentRecData); 00072 00073 DtDECLARE_ENVPROC_ATTR_ENCODER(ProcessIdentifier); 00074 DtDECLARE_ENVPROC_ATTR_ENCODER(Type); 00075 DtDECLARE_ENVPROC_ATTR_ENCODER(ModelType); 00076 DtDECLARE_ENVPROC_ATTR_ENCODER(EnvironmentProcessActive); 00077 DtDECLARE_ENVPROC_ATTR_ENCODER(SequenceNumber); 00078 DtDECLARE_ENVPROC_ATTR_ENCODER(EnvironmentRecData); 00079 DtDECLARE_ENVPROC_ATTR_ENCODER(EnvironmentRecData_RPR_20014); 00080 DtDECLARE_ENVPROC_ATTR_ENCODER(EnvironmentRecData_RPR_20017); 00081 DtDECLARE_ENVPROC_ATTR_ENCODER(EnvironmentRecData_RPR_20017_Rev4); 00082 00083 }; 00084 00089 00090 #define DtDEFINE_SIMPLE_ENVPROC_ATTR_ENCODER( \ 00091 attrName, netType, inspector) \ 00092 DtDEFINE_SIMPLE_ATTR_ENCODER( \ 00093 DtEnvironmentProcessEncoder, \ 00094 DtEnvironmentProcessRepository, \ 00095 attrName, netType, inspector) 00096 00101 00102 #define DtDEFINE_SIMPLE_ENVPROC_ATTR_CHECKER( \ 00103 attrName, inspector) \ 00104 DtDEFINE_SIMPLE_ATTR_CHECKER( \ 00105 DtEnvironmentProcessEncoder, \ 00106 DtEnvironmentProcessRepository, \ 00107 attrName, inspector) 00108 00109 #endif 00110 #endif 00111