![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tDetInter_H_ 00008 #define tDetInter_H_ 00009 00010 #if DtTENA 00011 00012 #include "tInteraction.h" 00013 #include <vlpi/entityIdentifier.h> 00014 #include "globalObjDes.h" 00015 00019 00020 class DT_DLL_VL DtFireInteraction; 00021 class DT_DLL_VL DtDetonationInteraction; 00022 00024 typedef void (*DtDetonationInteractionCb)(DtDetonationInteraction* inter, void* usr); 00025 00026 00030 class DT_DLL_VL DtDetonationInteraction : public DtInteraction 00031 { 00032 public: 00034 DtDetonationInteraction(); 00035 00037 virtual ~DtDetonationInteraction(); 00038 00040 DtDetonationInteraction(const DtDetonationInteraction& orig); 00041 00043 DtDetonationInteraction& operator=( 00044 const DtDetonationInteraction& orig); 00045 00047 DtDetonationInteraction(const DtFireInteraction& fire); 00048 00050 virtual void setAttackerId(const DtGlobalObjectDesignator& id); 00051 00053 virtual const DtGlobalObjectDesignator& attackerId() const; 00054 00056 virtual void setTargetId(const DtGlobalObjectDesignator& id); 00057 00059 virtual const DtGlobalObjectDesignator& targetId() const; 00060 00063 virtual void setWorldLocation(const DtVector& loc); 00064 00066 virtual const DtVector& worldLocation() const; 00067 00070 virtual void setVelocity(const DtVector& vel); 00071 00073 virtual const DtVector& velocity() const; 00074 00076 virtual void setMunitionId(const DtGlobalObjectDesignator& id); 00077 00079 virtual const DtGlobalObjectDesignator& munitionId() const; 00080 00082 virtual void setMunitionType(const DtEntityType& munType); 00083 00085 virtual const DtEntityType& munitionType() const; 00086 00088 virtual void setResult(DtDetonationResult res); 00089 00091 virtual DtDetonationResult result() const; 00092 00094 virtual void setWarheadType(DtWarheadType whType); 00095 00097 virtual DtWarheadType warheadType() const; 00098 00099 virtual void setWeaponFireMessageId(const DtGlobalObjectDesignator& mesId); 00100 00101 virtual const DtGlobalObjectDesignator& weaponFireMessageId() const; 00102 00104 virtual const char* name() const; 00105 00107 virtual void printData() const; 00108 00110 virtual void printDataToStream(std::ostream& stream) const; 00111 00112 public: 00113 00116 static DtInteraction* create(); 00117 00120 static void addCallback(DtExerciseConn* conn, 00121 DtDetonationInteractionCb cb, void* usr); 00122 00124 static void removeCallback(DtExerciseConn* conn, 00125 DtDetonationInteractionCb cb, void* usr); 00126 00127 00128 protected: 00129 DtGlobalObjectDesignator myAttackerId; 00130 DtGlobalObjectDesignator myTargetId; 00131 DtVector myWorldLocation; 00132 DtVector myVelocity; 00133 DtGlobalObjectDesignator myMunitionId; 00134 DtEntityType myMunitionType; 00135 DtDetonationResult myResult; 00136 DtWarheadType myWarheadType; 00137 DtGlobalObjectDesignator myWeaponFireMessageId; 00138 }; 00139 00140 #endif 00141 #endif 00142 00143