![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtInteractionWithEncDec_H_ 00008 #define DtInteractionWithEncDec_H_ 00009 00010 #if DtHLA 00011 00012 00013 #include "rtiNamespace.h" 00014 #include "hInteraction.h" 00015 00019 00020 class DT_DLL_VL DtInteractionDecoder; 00021 class DT_DLL_VL DtInteractionEncoder; 00022 class DT_DLL_VL DtInteractionRep; 00023 00028 00029 class DT_DLL_VL DtInteractionWithEncDec : public DtInteraction 00030 { 00031 public: 00032 00034 DtInteractionWithEncDec(); 00035 00037 virtual ~DtInteractionWithEncDec(); 00038 00040 DtInteractionWithEncDec(const DtInteractionWithEncDec& orig); 00041 00043 DtInteractionWithEncDec& operator=(const DtInteractionWithEncDec& orig); 00044 00053 virtual void setExConn(DtExerciseConn* exConn, 00054 DtInterClassDesc* classDesc = NULL); 00055 00059 #if DtHLA_1516 00060 virtual const RTI::ParameterHandleValueMap& phvm() const; 00061 #else 00062 virtual const RTI::ParameterHandleValuePairSet& phvps() const; 00063 #endif 00064 00066 #if DtHLA_1516 00067 virtual void setFromPhvm( 00068 const RTI::ParameterHandleValueMap& pvList); 00069 #else 00070 virtual void setFromPhvps( 00071 const RTI::ParameterHandleValuePairSet& pvList); 00072 #endif 00073 00081 virtual void useThese(DtInteractionEncoder* enc, 00082 DtInteractionDecoder* dec, 00083 DtInteractionRep* data); 00084 00086 virtual DtInteractionEncoder* encoder() const; 00087 00089 virtual DtInteractionDecoder* decoder() const; 00090 00091 protected: 00092 00096 virtual DtInteractionDecoder* createDecoder( 00097 DtExerciseConn* exConn) const; 00098 00102 virtual DtInteractionEncoder* createEncoder( 00103 DtExerciseConn* exConn) const; 00104 00106 virtual DtInteractionDecoder* decoderToUse( 00107 DtExerciseConn* exConn) const; 00108 00110 virtual DtInteractionEncoder* encoderToUse( 00111 DtExerciseConn* exConn) const; 00112 00113 protected: 00114 00115 DtInteractionDecoder* myDecoder; 00116 DtInteractionEncoder* myEncoder; 00117 DtInteractionRep* myData; 00118 00119 private: 00120 00123 mutable DtInteractionDecoder* myMutableCreatedDecoder; 00124 mutable DtInteractionEncoder* myMutableCreatedEncoder; 00125 mutable RTI::InteractionClassHandle myMutableEncoderClassHandle; 00126 mutable RTI::InteractionClassHandle myMutableDecoderClassHandle; 00127 00128 }; 00129 00130 inline DtInteractionEncoder* DtInteractionWithEncDec::encoder() const 00131 { 00132 return myEncoder; 00133 } 00134 00135 inline DtInteractionDecoder* DtInteractionWithEncDec::decoder() const 00136 { 00137 return myDecoder; 00138 } 00139 00140 #endif 00141 #endif 00142 00143 00144 00145 00146