![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00010 00011 #ifndef userTagModifiers_H_ 00012 #define userTagModifiers_H_ 00013 00014 #if DtHLA 00015 00016 #include <vlutil/vlSmartPointers.h> 00017 #include <vlutil/vlMachineTypes.h> 00018 00019 class DtInteraction; 00020 class DtStateMsg; 00021 class DtStateRepository; 00022 00023 class DtObjectTagModifier; 00024 class DtInteractionTagModifier; 00025 00026 00028 00029 typedef DtBoost::shared_ptr<DtObjectTagModifier> DtObjectTagModifierSP; 00030 typedef DtBoost::shared_ptr<DtInteractionTagModifier> DtInteractionTagModifierSP; 00032 00042 class DT_DLL_VL DtObjectTagModifier 00043 { 00044 public: 00046 DtObjectTagModifier(); 00047 00049 virtual ~DtObjectTagModifier(); 00050 00058 virtual void modifyTag(DtStateMsg* msg, const DtStateRepository* rep) = 0; 00059 00060 protected: 00062 DtObjectTagModifier(const DtObjectTagModifier& orig); 00063 00065 DtObjectTagModifier& operator=(const DtObjectTagModifier& orig); 00066 }; 00067 00077 class DT_DLL_VL DtInteractionTagModifier 00078 { 00079 public: 00081 DtInteractionTagModifier(); 00082 00084 virtual ~DtInteractionTagModifier(); 00085 00093 virtual void modifyTag(DtInteraction* inter) = 0; 00094 00095 protected: 00097 DtInteractionTagModifier(const DtInteractionTagModifier& orig); 00098 00100 DtInteractionTagModifier& operator=(const DtInteractionTagModifier& orig); 00101 }; 00102 00103 00104 #endif 00105 #endif