VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
detonationInteractionHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef detonationInteractionHLA_H_
8 #define detonationInteractionHLA_H_
9 
10 #if DtHLA
11 
12 
13 #include "interactionWithEncDec.h"
14 #include "hostStructs.h"
15 #include "eventId.h"
16 
18 
22 
23 class DtExerciseConn;
25 class DtFireInteraction;
26 
27 
28 
30 typedef void (*DtDetonationInteractionCb) (DtDetonationInteraction* inter,
31  void* usr);
32 
37 class DT_DLL_VL DtDetonationInteraction : public DtInteractionWithEncDec
38 {
39 public:
40 
43 
47 
49  virtual ~DtDetonationInteraction();
50 
53 
55  DtDetonationInteraction& operator=(const DtDetonationInteraction& orig);
56 
58  virtual void printData() const;
59  virtual void printDataToString(DtString& str) const;
60 
62  virtual void printDataToStream(std::ostream& stream) const;
63 
65  virtual void setAttackerId(const DtGlobalObjectDesignator& id);
66  virtual const DtGlobalObjectDesignator& attackerId() const;
67 
69  virtual void setTargetId(const DtGlobalObjectDesignator& id);
70  virtual const DtGlobalObjectDesignator& targetId() const;
71 
73  virtual void setMunitionId(const DtGlobalObjectDesignator& id);
74  virtual const DtGlobalObjectDesignator& munitionId() const;
75 
77  virtual void setEventId(const DtEventID& id);
78  virtual const DtEventID& eventId() const;
79 
81  virtual void setVelocity(const DtVector32& velocity);
82  virtual const DtVector32& velocity() const;
83 
85  virtual void setWorldLocation(const DtVector& location);
86  virtual const DtVector& worldLocation() const;
87 
89  virtual void setEntityLocation(const DtVector32& location);
90  virtual const DtVector32& entityLocation() const;
91 
93  virtual void setResult(DtDetonationResult result);
94  virtual DtDetonationResult result() const;
95 
97  virtual void setFuseType(DtDetonatorFuze fuse);
98  virtual DtDetonatorFuze fuseType() const;
99 
101  virtual void setMunitionType(const DtEntityType& munType);
102  virtual const DtEntityType& munitionType() const;
103 
105  virtual void setQuantity(int quant);
106  virtual int quantity() const;
107 
109  virtual void setRate(int rate);
110  virtual int rate() const;
111 
113  virtual void setWarheadType(DtWarheadType type);
114  virtual DtWarheadType warheadType() const;
115 
117  virtual DtArticulatedPartCollection* artPartList();
122  virtual const DtArticulatedPartCollection* artPartList() const;
124 
126  virtual void setArticulatedParts(const DtArticulatedPartCollection& apList);
128  const DtArticulatedPartCollection& articulatedParts() const;
129  DtArticulatedPartCollection& articulatedParts();
131 
133  virtual const char* name() const;
134 
135 public:
136 
139  static DtInteraction* create();
140 
143  static void addCallback(DtExerciseConn* conn,
144  DtDetonationInteractionCb cb, void* usr,
145  DtDDMRegionSP region = DtDDMRegionSP());
146  static void removeCallback(DtExerciseConn* conn,
147  DtDetonationInteractionCb cb, void* usr,
148  DtDDMRegionSP region = DtDDMRegionSP());
149 
150 protected:
151 
152  DtVector myWorldLocation;
153  DtDetonationResult myResult;
154  DtEventID myEventId;
155  DtGlobalObjectDesignator myAttackerId;
156  DtVector32 myVelocity;
157  DtDetonatorFuze myFuseType;
158  DtGlobalObjectDesignator myMunitionId;
159  DtEntityType myMunitionType;
160  int myQuantity;
161  int myRate;
162  DtVector32 myEntityLocation;
163  DtGlobalObjectDesignator myTargetId;
164  DtWarheadType myWarheadType;
165  DtArticulatedPartCollection myPartList;
166 };
167 
168 #endif
169 #endif
170 
171 
DtInteraction is an base class for representing DIS PDUs which don't have state.
Definition: interactionDIS.h:24
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtDetonationPdu is used to represent the impact or detonation of a munition.
Definition: detonationPdu.h:42
This file provides a declaration of the class DtArticulatedPartCollection.
DtDetonationResult
Definition: disEnums.h:207
A DtArticulatedPartCollection is a collection of articulated parts typically of an entity...
Definition: articulatedPartCollection.h:29
Definition: vlVector.h:224
Definition: vlVector.h:162
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
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: firePdu.h:34
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
void(* DtDetonationInteractionCb)(DtDetonationInteraction *inter, void *usr)
Definition: detonationPdu.h:37
DtDetonationPdu DtDetonationInteraction
DtDetonationInteraction is used to represent an impact or detonation of a munition.
Definition: detonationPdu.h:32
DtDetonatorFuze
SECTION 1.
Definition: disEnums.h:28
Contains the DtEventId class declaration.
Instances of DtString are used to represent strings.
Definition: vlString.h:36
DtWarheadType
Definition: disEnums.h:42
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)