VR-Link API Documentation for HLA Evolved
collidePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef _COLLPDU_H_
7 #define _COLLPDU_H_ 1
8 
12 
13 #if DtDIS
14 
15 
16 #include "hostStructs.h"
17 #include "interaction.h"
18 #include "packets/collisionP.h"
19 #include <matrix/vlMath.h>
20 #include "exerciseConn.h"
21 #include <vlpi/disEnums.h>
22 
23 const int DtCollisionStaticSize = 60;
24 class DT_DLL_VL DtCollisionPdu;
25 typedef DtCollisionPdu DtCollisionInteraction;
26 typedef void (*DtCollisionInteractionCb)
27  (DtCollisionInteraction *inter, void *usr);
28 
29 class DT_DLL_VL DtCollisionPdu : public DtInteraction
30 {
31 public:
32 
33 //******************* STANDARD CONSTRUCTORS ****************
34 
35  DtCollisionPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36  DtCollisionPdu(const DtNetCollisionPdu *initial,
38 
39  static DtPdu *create(const DtNetPacket *initial,
41 
42  static void addCallback(DtExerciseConn *conn,
43  DtCollisionInteractionCb cb, void *usr);
44  static void removeCallback(DtExerciseConn *conn,
45  DtCollisionInteractionCb cb, void *usr);
46 
47 //****************** INSPECTOR FUNCTIONS *******************
48 
49  const DtEntityIdentifier &issueId() const;
50  const DtEntityIdentifier &collideId() const;
51  const DtEventID &eventId() const;
52 
53  DtCollisionType collisionType() const;
54 
55  const DtVector& velocity() const;
56  DtFloat32 mass() const;
57  const DtVector& entityCoords() const;
58 
59 //****************** MUTATOR FUNCTIONS *******************
60 
61  void setIssueId(const DtEntityIdentifier &id);
62  void setCollideId(const DtEntityIdentifier &id);
63  void setEventId(const DtEventID &id);
64 
65  void setCollisionType(DtCollisionType t);
66 
67  void setVelocity(const DtVector& veloc);
68  void setMass(DtFloat32 mass);
69  void setEntityCoords(const DtVector& coords);
70 
71  virtual void printData() const;
72  virtual void printDataToStream(std::ostream& stream) const;
73 
74  protected:
75  DtPduKind internalGetPduKind() const {return DtCollisionPduKind;}
78  DtEventID event;
79  DtVector vel, ent;
80 };
81 
82 #endif
83 #endif
84 

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)