VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
collisionPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
15 #include "hostStructs.h"
16 #include "interaction.h"
17 #include "packets/collisionP.h"
18 #include <matrix/vlMath.h>
19 #include "exerciseConn.h"
20 #include <vlpi/disEnums.h>
21 
22 const int DtCollisionStaticSize = 60;
23 class DT_DLL_VL DtCollisionPdu;
24 typedef DtCollisionPdu DtCollisionInteraction;
25 typedef void (*DtCollisionInteractionCb)
26  (DtCollisionInteraction *inter, void *usr);
27 
28 class DT_DLL_VL DtCollisionPdu : public DtInteraction
29 {
30 public:
31 
32 //******************* STANDARD CONSTRUCTORS ****************
33 
34  DtCollisionPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35  DtCollisionPdu(const DtNetCollisionPdu *initial,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
37 
38  static DtPdu *create(const DtNetPacket *initial,
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
40 
41  static void addCallback(DtExerciseConn *conn,
42  DtCollisionInteractionCb cb, void *usr);
43  static void removeCallback(DtExerciseConn *conn,
44  DtCollisionInteractionCb cb, void *usr);
45 
46 //****************** INSPECTOR FUNCTIONS *******************
47 
48  const DtEntityIdentifier &issueId() const;
49  const DtEntityIdentifier &collideId() const;
50  const DtEventID &eventId() const;
51 
52  DtCollisionType collisionType() const;
53 
54  const DtVector& velocity() const;
55  DtFloat32 mass() const;
56  const DtVector& entityCoords() const;
57 
58 //****************** MUTATOR FUNCTIONS *******************
59 
60  void setIssueId(const DtEntityIdentifier &id);
61  void setCollideId(const DtEntityIdentifier &id);
62  void setEventId(const DtEventID &id);
63 
64  void setCollisionType(DtCollisionType t);
65 
66  void setVelocity(const DtVector& veloc);
67  void setMass(DtFloat32 mass);
68  void setEntityCoords(const DtVector& coords);
69 
70  virtual void printData() const;
71  virtual void printDataToStream(std::ostream& stream) const;
72 
73  protected:
74  DtPduKind internalGetPduKind() const {return DtCollisionPduKind;}
77  DtEventID event;
78  DtVector vel, ent;
79 };
80 
81 #endif
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
static void removeCallback(DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
This file defines math constants and methods which may be useful in simulations.
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
This file is used as a convenience to group interaction concepts together.
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
Definition: vlVector.h:224
Instances of DtCollisionInteraction are used to represent Collision Interactions in the RPR FOM...
Definition: collisionInteractionHLA.h:35
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
void(* DtCollisionInteractionCb)(DtCollisionInteraction *inter, void *usr)
Collision interaction callback function signature.
Definition: collisionInteractionHLA.h:29
Represents Events in the RPR FOM.
Definition: eventId.h:52
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
static void addCallback(DtExerciseConn *conn, const std::set< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
This file provides protocol to independence DtExerciseConn.
Definition: collisionP.h:18
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtCollisionType
Definition: disEnums.h:180
Contains the standard DIS enumerations.
Definition: disEnums.h:244
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
This file declares the class DtNetCollisionPdu.

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)