![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00009 00010 #ifndef DtInteractionEncoderFactory_H_ 00011 #define DtInteractionEncoderFactory_H_ 00012 00013 #if DtHLA 00014 00015 #include "interEncoder.h" 00016 #include <vlutil/vlMachineTypes.h> 00017 #include <map> 00018 00024 class DT_DLL_VL DtInteractionEncoderFactory 00025 { 00026 public: 00027 00029 DtInteractionEncoderFactory(DtExerciseConn* exConn); 00030 00032 virtual ~DtInteractionEncoderFactory(); 00033 00037 virtual DtInteractionEncoder* createEncoder( 00038 RTI::InteractionClassHandle hand); 00039 00045 virtual DtInteractionEncoder* addEncoder( 00046 RTI::InteractionClassHandle hand, 00047 DtInteractionEncoder* encoder); 00048 00056 virtual void addParameterEncoder( 00057 RTI::InteractionClassHandle classHand, 00058 RTI::ParameterHandle paramHand, 00059 DtInteractionEncoder::DtParameterEncoder encoder, 00060 bool applyToSubclasses = true); 00061 00063 void addParameterEncoder( 00064 char* className, 00065 RTI::ParameterHandle paramHand, 00066 DtInteractionEncoder::DtParameterEncoder func, 00067 bool applyToSubclasses = true); 00068 00070 void addParameterEncoder( 00071 RTI::InteractionClassHandle classHand, 00072 char* paramName, 00073 DtInteractionEncoder::DtParameterEncoder func, 00074 bool applyToSubclasses = true); 00075 00077 void addParameterEncoder( 00078 char* className, 00079 char* paramName, 00080 DtInteractionEncoder::DtParameterEncoder func, 00081 bool applyToSubclasses = true); 00082 00092 virtual DtInteractionEncoder* encoder( 00093 RTI::InteractionClassHandle hand, bool copyBase = false); 00094 00095 protected: 00096 00098 DtInteractionEncoderFactory(const DtInteractionEncoderFactory& orig); 00099 00101 DtInteractionEncoderFactory& operator=( 00102 const DtInteractionEncoderFactory& orig); 00103 00104 protected: 00105 00106 typedef std::map<RTI::InteractionClassHandle, DtInteractionEncoder*> InterClassHandleToEncoderMap; 00107 InterClassHandleToEncoderMap myProtos; 00108 00109 DtExerciseConn* myExConn; 00110 }; 00111 00112 #endif 00113 #endif 00114