WebLVC 1.7d API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fireInteraction.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/interaction.h>
15 #include <vlpi/entityType.h>
16 
17 namespace MAKVrExchange
18 {
19 
20  namespace DtTenaBroker
21  {
22 
23  class DtFireInteraction;
24 
26  typedef void (*DtFireInteractionCb)(DtFireInteraction* inter, void* usr);
27 
31  class DT_DLL_VLTENA DtFireInteraction : public DtInteraction
32  {
33  public:
34 
36  DtFireInteraction();
37 
39  virtual ~DtFireInteraction();
40 
42  DtFireInteraction(const DtFireInteraction& orig);
43 
45  DtFireInteraction& operator=(const DtFireInteraction& orig);
46 
48  virtual void setAttackerId(const DtGlobalObjectDesignator& id);
49 
51  virtual const DtGlobalObjectDesignator& attackerId() const;
52 
54  virtual void setTargetId(const DtGlobalObjectDesignator& id);
55 
57  virtual const DtGlobalObjectDesignator& targetId() const;
58 
61  virtual void setLocation(const DtVector64& loc);
62 
64  virtual const DtVector64& location() const;
65 
68  virtual void setVelocity(const DtVector32& vel);
69 
71  virtual const DtVector32& velocity() const;
72 
74  virtual void setMunitionType(const DtEntityType &t);
75 
77  virtual const DtEntityType &munitionType() const;
78 
80  virtual const char* name() const;
81 
83  virtual void printData() const;
84 
86  virtual void printDataToStream(std::ostream& stream) const;
87 
88  public:
89 
92  static DtInteraction* create();
93 
96  static void addCallback(DtExerciseConn* conn,
97  DtFireInteractionCb cb, void* usr);
98 
101  static void removeCallback(DtExerciseConn* conn,
102  DtFireInteractionCb cb, void* usr);
103 
104  protected:
105 
106  DtGlobalObjectDesignator myAttackerId;
107  DtGlobalObjectDesignator myTargetId;
108 
109  DtVector64 myLocation;
110  DtVector32 myVelocity;
111 
112  DtEntityType myMunitionType;
113 
114  };
115 
116  }
117 }
118 
119 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Wed Jun 21 15:05:44 EDT 2023 from SVN revision 256253
Copyright © 2005-2023 MAK Technologies. All Rights Reserved (www.mak.com)