VR-Exchange 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
collisionInteraction.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 <vl/eventId.h>
18 
19 #include <vlpi/entityIdentifier.h>
20 
21 #include <TENA/Middleware/Callback/Callback.h>
22 #include <DCT/Utils/SmartPtr.h>
23 
24 namespace MAKVrExchange
25 {
26 
27  namespace DtTenaBroker
28  {
29 
30  class DtCollisionInteraction;
31 
33  typedef void (*DtCollisionInteractionCb)(DtCollisionInteraction* inter, void* usr);
34 
38  class DT_DLL_VLTENA DtCollisionInteraction : public DtInteraction
39  {
40  public:
41 
43  DtCollisionInteraction();
44 
46  virtual ~DtCollisionInteraction();
47 
49  DtCollisionInteraction(const DtCollisionInteraction& orig);
50 
52  DtCollisionInteraction& operator=(const DtCollisionInteraction& orig);
53 
55  virtual void setIssueId(const DtGlobalObjectDesignator& id);
56 
58  virtual const DtGlobalObjectDesignator& issueId() const;
59 
61  virtual void setCollideId(const DtGlobalObjectDesignator& id);
62 
64  virtual const DtGlobalObjectDesignator& collideId() const;
65 
67  virtual void setEventId(const DtEventID& id);
68 
70  virtual const DtEventID& eventId() const;
71 
73  virtual void setCollisionType(DtCollisionType t);
74 
76  virtual DtCollisionType collisionType() const;
77 
79  virtual void setVelocity(const DtVector& veloc);
80 
82  virtual const DtVector& velocity() const;
83 
85  virtual void setMass(DtFloat32 mass);
86 
88  virtual DtFloat32 mass() const;
89 
91  virtual void setEntityCoords(const DtVector& coords);
92 
94  virtual const DtVector& entityCoords() const;
95 
97  virtual const char* name() const;
98 
100  virtual void printData() const;
101 
103  virtual void printDataToStream(std::ostream& stream) const;
104 
105  public:
106 
109  static DtInteraction* create();
110 
113  static void addCallback(DtExerciseConn* conn,
114  DtCollisionInteractionCb cb, void* usr);
115  static void removeCallback(DtExerciseConn* conn,
116  DtCollisionInteractionCb cb, void* usr);
117 
118  protected:
119 
120  DtGlobalObjectDesignator myIssueId;
121  DtGlobalObjectDesignator myCollideId;
122  DtEventID myEventId;
123  DtCollisionType myCollisionType;
124  DtVector myVelocity;
125  DtFloat32 myMass;
126  DtVector myEntityCoords;
127 
128  };
129 
130  }
131 }
132 
133 #endif // DtTENA
#define DT_DLL_VLTENA
Definition: brokers/tenaBroker/vlTena/dllExport.h:26

Document ID: Generated on Mon Apr 19 15:55:22 EDT 2021 from SVN revision 227909
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)