VR-Link API Documentation for DIS
hIntWEncDec.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)