![]() |
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 DtGriddedDataEncoder_H_ 00010 #define DtGriddedDataEncoder_H_ 00011 00012 #include "hStateEncoder.h" 00013 #include "hostStructs.h" 00014 00015 #include "gridDataSR.h" 00016 #include "exerciseConn.h" 00017 #include <matrix/LibMatrix.h> 00018 00022 00023 class DT_DLL_VL DtGriddedDataRepository; 00024 00027 00028 #define DtDECLARE_GRIDDATA_ATTR_CHECKER(attrName) \ 00029 DtDECLARE_ATTR_CHECKER(DtGriddedDataRepository, attrName) 00030 00032 00033 #define DtDECLARE_GRIDDATA_ATTR_ENCODER(attrName) \ 00034 DtDECLARE_ATTR_ENCODER(DtGriddedDataRepository, attrName) 00035 00040 00041 class DT_DLL_VL DtGriddedDataEncoder : public DtHlaStateEncoder 00042 { 00043 public: 00044 00046 DtGriddedDataEncoder( 00047 DtExerciseConn* exConn, 00048 DtObjClassDesc* classDesc); 00049 00051 virtual ~DtGriddedDataEncoder(); 00052 00054 DtGriddedDataEncoder(const DtGriddedDataEncoder& orig); 00055 00056 public: 00057 00059 static DtHlaStateEncoder* create( 00060 DtExerciseConn* exConn, DtObjClassDesc* classDesc); 00061 00062 protected: 00063 00064 DtDECLARE_GRIDDATA_ATTR_CHECKER(GridIdentifier); //2.0D4 00065 DtDECLARE_GRIDDATA_ATTR_CHECKER(GridID); 00066 DtDECLARE_GRIDDATA_ATTR_CHECKER(FieldNumber); 00067 DtDECLARE_GRIDDATA_ATTR_CHECKER(RecordNumber); 00068 DtDECLARE_GRIDDATA_ATTR_CHECKER(RecordTotal); 00069 DtDECLARE_GRIDDATA_ATTR_CHECKER(CoordinateSystem); 00070 DtDECLARE_GRIDDATA_ATTR_CHECKER(NumberOfGridAxes); 00071 DtDECLARE_GRIDDATA_ATTR_CHECKER(ConstantGrid); 00072 DtDECLARE_GRIDDATA_ATTR_CHECKER(EnvironmentType); 00073 DtDECLARE_GRIDDATA_ATTR_CHECKER(Orientation); 00074 DtDECLARE_GRIDDATA_ATTR_CHECKER(SampleTime); 00075 DtDECLARE_GRIDDATA_ATTR_CHECKER(TotalValues); 00076 DtDECLARE_GRIDDATA_ATTR_CHECKER(VectorDimension); 00077 DtDECLARE_GRIDDATA_ATTR_CHECKER(GridAxisInfo); 00078 DtDECLARE_GRIDDATA_ATTR_CHECKER(GridDataInfo); 00079 00080 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridIdentifier); 00081 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridID); 00082 DtDECLARE_GRIDDATA_ATTR_ENCODER(FieldNumber); 00083 DtDECLARE_GRIDDATA_ATTR_ENCODER(RecordNumber); 00084 DtDECLARE_GRIDDATA_ATTR_ENCODER(RecordTotal); 00085 DtDECLARE_GRIDDATA_ATTR_ENCODER(CoordinateSystem); 00086 DtDECLARE_GRIDDATA_ATTR_ENCODER(NumberOfGridAxes); 00087 DtDECLARE_GRIDDATA_ATTR_ENCODER(ConstantGrid); 00088 DtDECLARE_GRIDDATA_ATTR_ENCODER(EnvironmentType); 00089 DtDECLARE_GRIDDATA_ATTR_ENCODER(Orientation); 00090 DtDECLARE_GRIDDATA_ATTR_ENCODER(SampleTime); 00091 DtDECLARE_GRIDDATA_ATTR_ENCODER(TotalValues); 00092 DtDECLARE_GRIDDATA_ATTR_ENCODER(VectorDimension); 00093 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridAxisInfo); 00094 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridAxisInfo_RPR_20); 00095 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridDataInfo); 00096 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridDataInfo_RPR_20); 00097 DtDECLARE_GRIDDATA_ATTR_ENCODER(GridDataInfo_RPR2_Rev3); 00098 }; 00099 00104 00105 #define DtDEFINE_SIMPLE_GRIDDATA_ATTR_ENCODER( \ 00106 attrName, netType, inspector) \ 00107 DtDEFINE_SIMPLE_ATTR_ENCODER( \ 00108 DtGriddedDataEncoder, \ 00109 DtGriddedDataRepository, \ 00110 attrName, netType, inspector) 00111 00116 00117 #define DtDEFINE_SIMPLE_GRIDDATA_ATTR_CHECKER( \ 00118 attrName, inspector) \ 00119 DtDEFINE_SIMPLE_ATTR_CHECKER( \ 00120 DtGriddedDataEncoder, \ 00121 DtGriddedDataRepository, \ 00122 attrName, inspector) 00123 00124 #endif 00125 #endif 00126