![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef recIntrCbInfo_H_ 00011 #define recIntrCbInfo_H_ 00012 00013 #if DtHLA 00014 00015 #include "rtiNamespace.h" 00016 #include <vlutil/vlMachineTypes.h> 00017 00018 #include "region.h" 00019 00020 class DT_DLL_VL DtInteraction; 00021 00022 00023 typedef void (*DtReceiveInteractionCb)(DtInteraction* inter, void* usr); 00024 00028 class DT_DLL_VL DtReceiveInteractionCbInfo 00029 { 00030 public: 00031 00033 DtReceiveInteractionCbInfo(RTI::InteractionClassHandle h, 00034 DtReceiveInteractionCb cb, 00035 void* usr); 00036 00037 DtReceiveInteractionCbInfo(RTI::InteractionClassHandle h, 00038 DtReceiveInteractionCb cb, 00039 void* usr, 00040 DtDDMRegionSP region); 00041 00043 virtual ~DtReceiveInteractionCbInfo(); 00044 00046 DtReceiveInteractionCbInfo( 00047 const DtReceiveInteractionCbInfo& orig); 00048 00050 DtReceiveInteractionCbInfo& operator=( 00051 const DtReceiveInteractionCbInfo& orig); 00052 00054 virtual int match(const DtReceiveInteractionCbInfo* const other) const; 00055 00057 virtual int operator==(const DtReceiveInteractionCbInfo& other) const; 00058 00060 virtual const RTI::InteractionClassHandle& interactionClass() const; 00061 00063 virtual const DtReceiveInteractionCb& cbFunction() const; 00064 00066 virtual void* userData() const; 00067 00068 protected: 00069 00070 RTI::InteractionClassHandle myClass; 00071 DtReceiveInteractionCb myFunc; 00072 void* myUsr; 00073 DtDDMRegionSP myRegion; 00074 }; 00075 00076 inline const RTI::InteractionClassHandle& 00077 DtReceiveInteractionCbInfo::interactionClass() const 00078 { 00079 return myClass; 00080 } 00081 00082 inline const DtReceiveInteractionCb& 00083 DtReceiveInteractionCbInfo::cbFunction() const 00084 { 00085 return myFunc; 00086 } 00087 00088 inline void* DtReceiveInteractionCbInfo::userData() const 00089 { 00090 return myUsr; 00091 } 00092 00093 #endif 00094 #endif 00095