VR-Link API Documentation for DIS
collisElasPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef DtCollisionElasticPdu_H_
7 #define DtCollisionElasticPdu_H_
8 
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "dInteraction.h"
18 #include <matrix/vlMath.h>
19 #include "exerciseConn.h"
20 
21 #include "packets/collisElasP.h"
22 
24 
26 typedef void (*DtCollisionElasticPduCb)(DtCollisionElasticPdu* pdu, void* usr);
27 
28 
33 {
34 
35 public:
36 
42 
44  virtual ~DtCollisionElasticPdu();
45 
48  static DtPdu* create(const DtNetPacket* initial,
50 
53  static void addCallback(DtExerciseConn* conn,
54  DtCollisionElasticPduCb cb, void* usr);
55  static void removeCallback(DtExerciseConn* conn,
56  DtCollisionElasticPduCb cb, void* usr);
57 
60 
62  virtual void setIssuingEntityID(const DtEntityIdentifier& entity);
63  virtual const DtEntityIdentifier& issuingEntityID() const;
64 
66  virtual void setCollidingEntityID(const DtEntityIdentifier& entity);
67  virtual const DtEntityIdentifier& collidingEntityID() const;
68 
70  virtual void setEventID(const DtEventID& event);
71  virtual const DtEventID& eventID() const;
72 
74  virtual void setContactVelocity(const DtVector& velocity);
75  virtual const DtVector& contactVelocity() const;
76 
78  virtual void setMass(DtFloat32 value);
79  virtual DtFloat32 mass() const;
80 
82  virtual void setLocationOfImpact(const DtVector& coords);
83  virtual const DtVector& locationOfImpact() const;
84 
86  virtual void setCollisionInterResultXX(DtFloat32 result);
87  virtual DtFloat32 collisionInterResultXX() const;
88 
90  virtual void setCollisionInterResultXY(DtFloat32 result);
91  virtual DtFloat32 collisionInterResultXY() const;
92 
94  virtual void setCollisionInterResultXZ(DtFloat32 result);
95  virtual DtFloat32 collisionInterResultXZ() const;
96 
98  virtual void setCollisionInterResultYY(DtFloat32 result);
99  virtual DtFloat32 collisionInterResultYY() const;
100 
102  virtual void setCollisionInterResultYZ(DtFloat32 result);
103  virtual DtFloat32 collisionInterResultYZ() const;
104 
106  virtual void setCollisionInterResultZZ(DtFloat32 result);
107  virtual DtFloat32 collisionInterResultZZ() const;
108 
110  virtual void setUnitSurfaceNormal(const DtVector& coords);
111  virtual const DtVector& unitSurfaceNormal() const;
112 
114  virtual void setCoefficientOfRestitution(DtFloat32 coeff);
115  virtual DtFloat32 coefficientOfRestitution() const;
116 
118  virtual void printData() const;
119 
121  virtual void printDataToStream(std::ostream& stream) const;
122 
123 protected:
124 
126  virtual DtPduKind internalGetPduKind() const;
127 
130  virtual DtNetCollisionElasticPdu* netPduStruct() const;
131 
134  DtCollisionElasticPdu* self() const;
135 
136 protected:
137 
139  static const int theStaticSize;
140 
141 protected:
142 
147 
148 };
149 
150 
151 #endif
152 #endif
153 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)