VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
detonationInteraction.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/dllExport.h>
15 #include <vlTena/interaction.h>
16 #include <vl/globalObjectDesignator.h>
17 #include <vlpi/entityIdentifier.h>
18 
19 namespace MAKVrExchange
20 {
21 
22  namespace DtTenaBroker
23  {
24 
25  class DtFireInteraction;
26  class DtDetonationInteraction;
27 
29  typedef void (*DtDetonationInteractionCb)(DtDetonationInteraction* inter, void* usr);
30 
34  class DT_DLL_VLTENA DtDetonationInteraction : public DtInteraction
35  {
36  public:
37 
39  DtDetonationInteraction();
40 
42  virtual ~DtDetonationInteraction();
43 
45  DtDetonationInteraction(const DtDetonationInteraction& orig);
46 
48  DtDetonationInteraction& operator=(
49  const DtDetonationInteraction& orig);
50 
52  DtDetonationInteraction(const DtFireInteraction& fire);
53 
55  virtual void setAttackerId(const DtGlobalObjectDesignator& id);
56 
58  virtual const DtGlobalObjectDesignator& attackerId() const;
59 
61  virtual void setTargetId(const DtGlobalObjectDesignator& id);
62 
64  virtual const DtGlobalObjectDesignator& targetId() const;
65 
68  virtual void setWorldLocation(const DtVector& loc);
69 
71  virtual const DtVector& worldLocation() const;
72 
75  virtual void setVelocity(const DtVector& vel);
76 
78  virtual const DtVector& velocity() const;
79 
81  virtual void setMunitionId(const DtGlobalObjectDesignator& id);
82 
84  virtual const DtGlobalObjectDesignator& munitionId() const;
85 
87  virtual void setMunitionType(const DtEntityType& munType);
88 
90  virtual const DtEntityType& munitionType() const;
91 
93  virtual void setResult(DtDetonationResult res);
94 
96  virtual DtDetonationResult result() const;
97 
99  virtual void setWarheadType(DtWarheadType whType);
100 
102  virtual DtWarheadType warheadType() const;
103 
104  virtual void setWeaponFireMessageId(const DtGlobalObjectDesignator& mesId);
105 
106  virtual const DtGlobalObjectDesignator& weaponFireMessageId() const;
107 
109  virtual const char* name() const;
110 
112  virtual void printData() const;
113 
115  virtual void printDataToStream(std::ostream& stream) const;
116 
117  public:
118 
121  static DtInteraction* create();
122 
125  static void addCallback(DtExerciseConn* conn,
126  DtDetonationInteractionCb cb, void* usr);
127 
129  static void removeCallback(DtExerciseConn* conn,
130  DtDetonationInteractionCb cb, void* usr);
131 
132  protected:
133 
134  DtGlobalObjectDesignator myAttackerId;
135  DtGlobalObjectDesignator myTargetId;
136  DtVector myWorldLocation;
137  DtVector myVelocity;
138  DtGlobalObjectDesignator myMunitionId;
139  DtEntityType myMunitionType;
140  DtDetonationResult myResult;
141  DtWarheadType myWarheadType;
142  DtGlobalObjectDesignator myWeaponFireMessageId;
143 
144  };
145 
146  }
147 }
148 
149 #endif // DtTENA

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)