VR-Link API Documentation for DIS
hDetInter.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 hDetInter_H_
8 #define hDetInter_H_
9 
10 #if DtHLA
11 
12 
13 #include "hIntWEncDec.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 DtVector& velocity);
82  virtual const DtVector& velocity() const;
83 
85  virtual void setWorldLocation(const DtVector& location);
86  virtual const DtVector& worldLocation() const;
87 
89  virtual void setEntityLocation(const DtVector& location);
90  virtual const DtVector& 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 
118 
119 
120 
121  virtual DtArticulatedPartCollection* artPartList();
122  virtual const DtArticulatedPartCollection* artPartList() const;
124 
126 
127  virtual void setArticulatedParts(const DtArticulatedPartCollection& apList);
128  const DtArticulatedPartCollection& articulatedParts() const;
130 
132  virtual const char* name() const;
133 
134 public:
135 
138  static DtInteraction* create();
139 
142  static void addCallback(DtExerciseConn* conn,
143  DtDetonationInteractionCb cb, void* usr,
144  DtDDMRegionSP region = DtDDMRegionSP());
145  static void removeCallback(DtExerciseConn* conn,
146  DtDetonationInteractionCb cb, void* usr,
147  DtDDMRegionSP region = DtDDMRegionSP());
148 
149 protected:
150 
151  DtVector myWorldLocation;
152  DtDetonationResult myResult;
153  DtEventID myEventId;
154  DtGlobalObjectDesignator myAttackerId;
155  DtVector myVelocity;
156  DtDetonatorFuze myFuseType;
157  DtGlobalObjectDesignator myMunitionId;
158  DtEntityType myMunitionType;
159  int myQuantity;
160  int myRate;
161  DtVector myEntityLocation;
162  DtGlobalObjectDesignator myTargetId;
163  DtWarheadType myWarheadType;
164  DtArticulatedPartCollection myPartList;
165 };
166 
167 #endif
168 #endif
169 
170 

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)