![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtUnknownInteraction_H_ 00011 #define DtUnknownInteraction_H_ 00012 00013 #if DtHLA 00014 00015 00016 #include "hInteraction.h" 00017 #include "hostStructs.h" 00018 #include "exerciseConn.h" 00019 #include "rtiNamespace.h" 00020 00021 class DT_DLL_VL DtUnknownInteraction; 00022 00023 00024 00026 typedef void (*DtUnknownInteractionCb) 00027 (DtUnknownInteraction* inter, void* usr); 00028 00033 00034 class DT_DLL_VL DtUnknownInteraction : public DtInteraction 00035 { 00036 public: 00037 00039 DtUnknownInteraction(); 00040 00042 #if DtHLA_1516 00043 DtUnknownInteraction(RTI::InteractionClassHandle handle, 00044 const RTI::ParameterHandleValueMap& pvMap); 00045 #else 00046 DtUnknownInteraction(RTI::InteractionClassHandle handle, 00047 const RTI::ParameterHandleValuePairSet& pvList); 00048 #endif 00049 00051 virtual ~DtUnknownInteraction(); 00052 00054 DtUnknownInteraction(const DtUnknownInteraction& orig); 00055 00057 DtUnknownInteraction& operator=(const DtUnknownInteraction& orig); 00058 00060 #if DtHLA_1516 00061 virtual const RTI::ParameterHandleValueMap& phvm() const; 00062 #else 00063 virtual const RTI::ParameterHandleValuePairSet& phvps() const; 00064 #endif 00065 00067 #if DtHLA_1516 00068 virtual void setFromPhvm( 00069 const RTI::ParameterHandleValueMap& pvMap); 00070 #else 00071 virtual void setFromPhvps( 00072 const RTI::ParameterHandleValuePairSet& pvList); 00073 #endif 00074 00080 virtual void setExConn(DtExerciseConn* exConn, DtInterClassDesc* classDesc); 00081 00083 virtual void printData() const; 00084 00086 virtual const char* name() const; 00087 00088 public: 00089 00092 static DtInteraction* create(); 00093 00096 static void addCallback(RTI::InteractionClassHandle handle, 00097 DtExerciseConn* conn, 00098 DtUnknownInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP()); 00099 static void removeCallback(RTI::InteractionClassHandle handle, 00100 DtExerciseConn* conn, 00101 DtUnknownInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP()); 00102 00103 protected: 00104 00107 #if !DtHLA_1516 00108 void internalSetFromPhvps( const RTI::ParameterHandleValuePairSet& pvList); 00109 #endif 00110 00111 protected: 00112 00113 #if DtHLA_1516 00114 RTI::ParameterHandleValueMap myParams; 00115 #else 00116 RTI::ParameterHandleValuePairSet* myParams; 00117 #endif 00118 RTI::InteractionClassHandle myHandle; 00119 }; 00120 00121 #endif 00122 #endif 00123