VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
collisionInteractionHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef collisionInteractionHLA_H_
8 #define collisionInteractionHLA_H_
9 
10 #if DtHLA
11 
12 #include "interactionWithEncDec.h"
13 #include "hostStructs.h"
14 #include "eventId.h"
15 #include <matrix/vlMath.h>
16 
17 
18 
22 
25 
26 
28 typedef void (*DtCollisionInteractionCb)
29  (DtCollisionInteraction* inter, void* usr);
30 
31 
35 class DT_DLL_VL DtCollisionInteraction : public DtInteractionWithEncDec
36 {
37 public:
38 
41 
43  virtual ~DtCollisionInteraction();
44 
47 
49  DtCollisionInteraction& operator=(const DtCollisionInteraction& orig);
50 
52  virtual void printData() const;
53 
55  virtual void printDataToStream(std::ostream& stream) const;
56 
58  virtual void setIssueId(const DtGlobalObjectDesignator& id);
59  virtual const DtGlobalObjectDesignator& issueId() const;
60 
62  virtual void setCollideId(const DtGlobalObjectDesignator& id);
63  virtual const DtGlobalObjectDesignator& collideId() const;
64 
66  virtual void setEventId(const DtEventID& id);
67  virtual const DtEventID& eventId() const;
68 
70  virtual void setCollisionType(DtCollisionType t);
71  virtual DtCollisionType collisionType() const;
72 
74  virtual void setVelocity(const DtVector& veloc);
75  virtual const DtVector& velocity() const;
76 
78  virtual void setMass(DtFloat32 mass);
79  virtual DtFloat32 mass() const;
80 
82  virtual void setEntityCoords(const DtVector& coords);
83  virtual const DtVector& entityCoords() const;
84 
86  virtual const char* name() const;
87 
88 public:
89 
92  static DtInteraction* create();
93 
96  static void addCallback(DtExerciseConn* conn,
97  DtCollisionInteractionCb cb, void* usr,
98  DtDDMRegionSP region = DtDDMRegionSP());
99  static void removeCallback(DtExerciseConn* conn,
100  DtCollisionInteractionCb cb, void* usr,
101  DtDDMRegionSP region = DtDDMRegionSP());
102 
103 protected:
104 
105  DtGlobalObjectDesignator myIssueId;
106  DtGlobalObjectDesignator myCollideId;
107  DtEventID myEventId;
108  DtCollisionType myCollisionType;
109  DtVector myVelocity;
110  DtFloat32 myMass;
111  DtVector myEntityCoords;
112 };
113 
114 #endif
115 #endif
116 
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file defines math constants and methods which may be useful in simulations.
Definition: vlVector.h:224
Represents Events in DIS.
Definition: eventId.h:154
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
DtCollisionType
Definition: disEnums.h:180
DtCollisionPdu DtCollisionInteraction
Definition: collisionPdu.h:23
Contains the DtEventId class declaration.
Definition: collisionPdu.h:28
void(* DtCollisionInteractionCb)(DtCollisionInteraction *inter, void *usr)
Definition: collisionPdu.h:26

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)