VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fireInteractionHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef fireInteractionHLA_H_
7 #define fireInteractionHLA_H_
8 
12 
13 #if DtHLA
14 
15 
16 #include "interactionWithEncDec.h"
17 #include "hostStructs.h"
18 #include "eventId.h"
19 
20 
21 
24 
25 
26 
28 typedef void (*DtFireInteractionCb)(DtFireInteraction* inter, void* usr);
29 
36 {
37 public:
38 
41 
43  virtual ~DtFireInteraction();
44 
47 
50 
52  virtual void printData() const;
53 
55  virtual void printDataToStream(std::ostream& stream) const;
56 
58  virtual void printDataToString(DtString& buffer) const;
59 
61  virtual void setAttackerId(const DtGlobalObjectDesignator& id);
62  virtual const DtGlobalObjectDesignator& attackerId() const;
63 
65  virtual void setTargetId(const DtGlobalObjectDesignator& id);
66  virtual const DtGlobalObjectDesignator& targetId() const;
67 
69  virtual void setMunitionId(const DtGlobalObjectDesignator& id);
70  virtual const DtGlobalObjectDesignator& munitionId() const;
71 
73  virtual void setEventId(const DtEventID& id);
74  virtual const DtEventID& eventId() const;
75 
77  virtual void setFireMissionIndex(unsigned long i);
78  virtual unsigned long fireMissionIndex() const;
79 
81  virtual void setLocation(const DtVector& location);
82  virtual const DtVector& location() const;
83 
85  virtual void setVelocity(const DtVector32& velocity);
86  virtual const DtVector32& velocity() const;
87 
89  virtual void setRange(double range);
90  virtual double range() const;
91 
93  virtual void setFuseType(DtDetonatorFuze f);
94  virtual DtDetonatorFuze fuseType() const;
95 
97  virtual void setMunitionType(const DtEntityType& t);
98  virtual const DtEntityType& munitionType() const;
99 
101  virtual void setQuantity(int q);
102  virtual int quantity() const;
103 
105  virtual void setRate(int r);
106  virtual int rate() const;
107 
109  virtual void setWarheadType(DtWarheadType t);
110  virtual DtWarheadType warheadType() const;
111 
113  virtual const char* name() const;
114 
115 public:
116 
119  static DtInteraction* create();
120 
123  static void addCallback(DtExerciseConn* conn,
124  DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
125  static void removeCallback(DtExerciseConn* conn,
126  DtFireInteractionCb cb, void* usr, DtDDMRegionSP region = DtDDMRegionSP());
127 
128 protected:
129 
134  unsigned long myFireMissionIndex;
137  double myRange;
141  int myRate;
143 };
144 
145 #endif
146 #endif
147 
148 
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's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
DtInteractionWithEncDec & operator=(const DtInteractionWithEncDec &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
double myRange
Definition: fireInteractionHLA.h:137
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
int myQuantity
Definition: fireInteractionHLA.h:140
DtEventID myEventId
Definition: fireInteractionHLA.h:133
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:348
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:356
virtual const char * name() const =0
Name of the interaction. (Not necessarily the ClassName from the FOM.)
Definition: vlVector.h:224
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: fireInteractionHLA.h:35
DtVector myLocation
Definition: fireInteractionHLA.h:135
static void addCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
DtDetonatorFuze myFuseType
Definition: fireInteractionHLA.h:138
Definition: vlVector.h:162
Represents Events in the RPR FOM.
Definition: eventId.h:52
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
DtGlobalObjectDesignator myMunitionId
Definition: fireInteractionHLA.h:132
DtWarheadType myWarheadType
Definition: fireInteractionHLA.h:142
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
This file provides a declaration of the class DtInteractionWithEncDec.
void(* DtFireInteractionCb)(DtFireInteraction *inter, void *usr)
Fire interaction callback function signature.
Definition: fireInteractionHLA.h:28
int myRate
Definition: fireInteractionHLA.h:141
class DtInteractionWithEncDec:
Definition: interactionWithEncDec.h:44
DtEntityType myMunitionType
Definition: fireInteractionHLA.h:139
unsigned long myFireMissionIndex
Definition: fireInteractionHLA.h:134
DtDetonatorFuze
SECTION 1.
Definition: disEnums.h:28
DtGlobalObjectDesignator myAttackerId
Definition: fireInteractionHLA.h:130
Contains the DtEventId class declaration.
Instances of DtString are used to represent strings.
Definition: vlString.h:29
DtVector32 myVelocity
Definition: fireInteractionHLA.h:136
DtWarheadType
Definition: disEnums.h:42
DtGlobalObjectDesignator myTargetId
Definition: fireInteractionHLA.h:131
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
virtual void printDataToString(DtString &buff) const
Print the interaction&#39;s data to the string provided.
Definition: interactionHLA.h:352

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)