![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tInterWData_H_ 00008 #define tInterWData_H_ 00009 00010 #if DtTENA 00011 #include "tInteraction.h" 00012 #include "datumRecSet.h" 00013 00014 00019 00020 class DT_DLL_VL DtExerciseConn; 00021 00022 00026 class DT_DLL_VL DtInteractionWithData : public DtInteraction 00027 { 00028 public: 00029 00031 DtInteractionWithData(); 00032 00034 virtual ~DtInteractionWithData(); 00035 00037 DtInteractionWithData(const DtInteractionWithData& orig); 00038 00040 DtInteractionWithData& operator=( 00041 const DtInteractionWithData& orig); 00042 00044 virtual void printData() const; 00045 00047 virtual void printDataToStream(std::ostream& stream) const; 00048 00049 virtual int numFixedFields() const; 00050 00052 virtual int numVarFields() const; 00053 00057 virtual DtDatumParam varDatumId(int index) const; 00058 virtual void setVarDatumId(int index, DtDatumParam id, DtDatumRetCode* retcode = 0); 00059 00063 virtual DtDatumParam fixedDatumId(int index) const; 00064 virtual void setFixedDatumId(int index, DtDatumParam id, DtDatumRetCode* retcode = 0); 00065 00070 virtual DtDatumParam datumId(DtDatumRecordType fixedOrVar, int index) const; 00071 00076 virtual int datumSizeBits(DtDatumRecordType fixedOrVar, int index) const; 00077 00082 virtual int datumSizeBytes(DtDatumRecordType fixedOrVar, int index) const; 00083 00090 virtual void getIndex(DtDatumParam param, DtDatumRecordType* fixedOrVar, 00091 int* index, DtDatumRetCode* retcode = 0) const; 00092 00106 00107 virtual DtFloat32 datumValFloat32(DtDatumRecordType fixedOrVar, int index, 00108 DtDatumRetCode* retcode = 0) const; 00109 virtual DtFloat64 datumValFloat64(DtDatumRecordType fixedOrVar, int index, 00110 DtDatumRetCode* retcode = 0) const; 00111 virtual unsigned long datumValUnsigned32(DtDatumRecordType fixedOrVar, 00112 int index, DtDatumRetCode* retcode = 0) const; 00113 virtual long datumValInt32(DtDatumRecordType fixedOrVar, int index, 00114 DtDatumRetCode* retcode = 0) const; 00115 virtual const char* datumValByteArray(DtDatumRecordType fixedOrVar, 00116 int index) const; 00118 00132 00133 virtual DtFloat32 datumValFloat32(DtDatumParam param, 00134 DtDatumRetCode* retcode = 0) const; 00135 virtual DtFloat64 datumValFloat64(DtDatumParam param, 00136 DtDatumRetCode* retcode = 0) const; 00137 virtual unsigned long datumValUnsigned32(DtDatumParam param, 00138 DtDatumRetCode* retcode = 0) const; 00139 virtual long datumValInt32(DtDatumParam param, 00140 DtDatumRetCode* retcode = 0) const; 00141 virtual const char* datumValByteArray(DtDatumParam param, 00142 DtDatumRetCode* retcode = 0) const; 00144 00152 virtual void initDataSection(const DtDatumParam* fixedParams, 00153 const DtVarDatumSpec* specList); 00154 00159 virtual void setNumFixedFields(int newNum); 00160 virtual void setNumVarFields(int newNum); 00161 00166 virtual void setDatumParam(DtDatumRecordType fixedOrVar, int index, DtDatumParam param, 00167 DtDatumRetCode* retcode = 0); 00168 00174 virtual void setVarDataBytes(int index, int length, DtDatumRetCode* retcode = 0); 00175 00188 00189 virtual void setDatumValFloat64(DtDatumRecordType fixedOrVar, int index, DtFloat64 val, 00190 DtDatumRetCode* retcode = 0); 00191 virtual void setDatumValFloat32(DtDatumRecordType fixedOrVar, int index, DtFloat32 val, 00192 DtDatumRetCode* retcode = 0); 00193 virtual void setDatumValInt32(DtDatumRecordType fixedOrVar, int index, long val, 00194 DtDatumRetCode* retcode = 0); 00195 virtual void setDatumValUnsigned32(DtDatumRecordType fixedOrVar, int index, 00196 unsigned long val, DtDatumRetCode* retcode = 0); 00197 virtual void setDatumValByteArray(DtDatumRecordType fixedOrVar, int index, 00198 const char* val, DtDatumRetCode* retcode = 0); 00199 00212 00213 virtual void setDatumValFloat64(DtDatumParam param, DtFloat64 val, 00214 DtDatumRetCode* retcode = 0); 00215 virtual void setDatumValFloat32(DtDatumParam param, DtFloat32 val, 00216 DtDatumRetCode* retcode = 0); 00217 virtual void setDatumValInt32(DtDatumParam param, long val, 00218 DtDatumRetCode* retcode = 0); 00219 virtual void setDatumValUnsigned32(DtDatumParam param, unsigned long val, 00220 DtDatumRetCode* retcode = 0); 00221 virtual void setDatumValByteArray(DtDatumParam param, const char* val, 00222 DtDatumRetCode* retcode = 0); 00223 00229 virtual DtDatumRecordSet* datumRecSet(); 00230 virtual const DtDatumRecordSet* datumRecSet() const; 00231 00232 protected: 00233 00234 DtDatumRecordSet myRecSet; 00235 }; 00236 00237 #endif 00238 #endif 00239