![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tFireInter_H_ 00008 #define tFireInter_H_ 00009 00010 #if DtTENA 00011 00012 #include "tInteraction.h" 00013 #include <vlpi/entityType.h> 00014 00018 00019 class DT_DLL_VL DtFireInteraction; 00020 00022 typedef void (*DtFireInteractionCb)(DtFireInteraction* inter, void* usr); 00023 00027 class DT_DLL_VL DtFireInteraction : public DtInteraction 00028 { 00029 public: 00031 DtFireInteraction(); 00032 00034 virtual ~DtFireInteraction(); 00035 00037 DtFireInteraction(const DtFireInteraction& orig); 00038 00040 DtFireInteraction& operator=(const DtFireInteraction& orig); 00041 00043 virtual void setAttackerId(const DtGlobalObjectDesignator& id); 00044 00046 virtual const DtGlobalObjectDesignator& attackerId() const; 00047 00049 virtual void setTargetId(const DtGlobalObjectDesignator& id); 00050 00052 virtual const DtGlobalObjectDesignator& targetId() const; 00053 00056 virtual void setLocation(const DtVector& loc); 00057 00059 virtual const DtVector& location() const; 00060 00063 virtual void setVelocity(const DtVector& vel); 00064 00066 virtual const DtVector& velocity() const; 00067 00069 virtual void setMunitionType(const DtEntityType &t); 00070 00072 virtual const DtEntityType &munitionType() const; 00073 00075 virtual const char* name() const; 00076 00078 virtual void printData() const; 00079 00081 virtual void printDataToStream(std::ostream& stream) const; 00082 00083 public: 00084 00087 static DtInteraction* create(); 00088 00091 static void addCallback(DtExerciseConn* conn, 00092 DtFireInteractionCb cb, void* usr); 00093 00096 static void removeCallback(DtExerciseConn* conn, 00097 DtFireInteractionCb cb, void* usr); 00098 00099 00100 protected: 00101 DtGlobalObjectDesignator myAttackerId; 00102 DtGlobalObjectDesignator myTargetId; 00103 DtVector myLocation; 00104 DtVector myVelocity; 00105 DtEntityType myMunitionType; 00106 }; 00107 00108 #endif 00109 #endif 00110 00111