WebLVC 1.8 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 MAK Technologies, Inc.
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 DtVector64& loc);
69 
71  virtual const DtVector64& worldLocation() const;
72 
75  virtual void setVelocity(const DtVector32& vel);
76 
78  virtual const DtVector32& 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 
137  DtVector64 myWorldLocation;
138  DtVector32 myVelocity;
139 
140  DtGlobalObjectDesignator myMunitionId;
141  DtEntityType myMunitionType;
142  DtDetonationResult myResult;
143  DtWarheadType myWarheadType;
144 
145  DtGlobalObjectDesignator myWeaponFireMessageId;
146 
147  };
148 
149  }
150 }
151 
152 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Wed Mar 12 15:05:17 EDT 2025 from SVN revision 274272
Copyright © 2005-2025 MAK Technologies. All Rights Reserved (www.mak.com)