VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
spotReport.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include "vrftasks/simReport.h"
14 #include <readerWriter/rwString.h>
15 #include <readerWriter/rwReal.h>
16 #include <readerWriter/rwBoolean.h>
17 #include <vlutil/vlTime.h>
19 #include <vrfutil/rwUUID.h>
20 
21 #include <vlutil/vlNetTypes.h>
22 //#include <vlpi/NetStructs.h>
23 #include <vl/hostStructs.h>
24 
25 
36 {
37 public:
38  enum Reason
39  {
40  NewContact = 0,
41  PeriodicRefresh = 1,
42  StateUpdate = 2,
43  Resend = 3
44  };
45 
46 public:
47  DtSpotReport( const DtString& rwName,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
50  DtSpotReport( const DtString& rwName, const DtSpotReport& orig,
51  DtReaderWriterRegistry* parentRegistry = 0);
52 
53  virtual ~DtSpotReport() override;
54 
55  const DtSpotReport & operator=(const DtSpotReport & orig);
56 
57 private:
59  DtSpotReport();
60 
61 public:
64  virtual const DtSimReportMessageType& type() const override;
65 
67  virtual DtSimReport * clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const override;
68 
72  virtual void setContactLocation(const DtVector& vector);
73  virtual DtVector contactLocation() const;
75 
79  virtual void setContactOrientation( const DtTaitBryan& orientation );
80  virtual DtTaitBryan contactOrientation() const;
82 
86  virtual void setContactVelocity( const DtVector& velocity );
87  virtual DtVector contactVelocity() const;
89 
92  virtual void setResendId(unsigned int);
93  virtual unsigned int resendId() const;
94 
97  virtual void setReason( Reason );
98  virtual Reason reason() const;
100 
106  virtual void setContactType(const DtEntityType& type);
107  virtual DtEntityType contactType() const;
109 
113  virtual void setContactFormation(const DtAggregateFormation formation);
114  virtual DtAggregateFormation contactFormation() const;
116 
120  virtual void setContactForce(const DtForceType& force);
121  virtual DtForceType contactForce() const;
123 
128  virtual void setContactActivity(const DtString& activityEnum);
129  virtual const DtString& contactActivity() const;
131 
135 
136  virtual void setContactRadius(DtReal radius);
137  virtual DtReal contactRadius() const;
139 
145  virtual void setContact(const DtUUID&);
146 
148  virtual const DtUUID& contact() const;
150 
152  virtual void setContactMarkingText(const DtString&);
153  virtual const DtString& contactMarkingText() const;
154 
161  virtual void setSpotter(const DtUUID&);
162 
164  virtual const DtUUID& spotter() const;
166 
170  virtual void setSpotterMarkingText(const DtString&);
171  virtual const DtString& spotterMarkingText() const;
172 
173  virtual void setSpotterForceType(int);
174  virtual int spotterForceType() const;
176 
181  virtual DtTime timeOfReport() const;
183 
186  virtual void setDateAndTimeOfReport(DtTime t);
187  virtual DtTime dateAndTimeOfReport() const;
189 
192  virtual void setSimulationTime(double);
193  virtual double simulationTime() const;
195 
199  virtual void setExpirationTime(double);
200  virtual double expirationTime() const;
202 
206  virtual DtTime timeOfContact() const;
208 
212  virtual void setDateAndTimeOfContact(DtTime t);
213  virtual DtTime dateAndTimeOfContact() const;
215 
219  virtual void setOriginalDateAndTimeOfContact(DtTime t);
220  virtual DtTime originalDateAndTimeOfContact() const;
222 
225  virtual void setCombatIdentificationLevel(int t);
226  virtual int combatIdentificationLevel() const;
228 
231  virtual void setDetectionErrorRange(double range);
232  virtual double detectionErrorRange() const;
233  virtual void setDetectionErrorHorizontal(double angle);
234  virtual double detectionErrorHorizontal() const;
235  virtual void setDetectionErrorVertical(double angle);
236  virtual double detectionErrorVertical() const;
238 
241  virtual void setContactHealthPercentage(double);
242  virtual double contactHealthPercentage() const;
244 
247  virtual void setContactInfo(const DtRwSensorContactInfo & info);
248  virtual const DtRwSensorContactInfo & contactInfo() const;
249  virtual DtRwSensorContactInfo& contactInfo();
251 
254  virtual void setUseGroundTruth(bool);
255  virtual bool useGroundTruth() const;
257 
260  virtual void setEngagementResult(const DtString&);
261  virtual const DtString& engagementResult() const;
263 
265  virtual int netRepSize() const override;
266 
268  virtual bool setFromNet(const char* networkBuffer, unsigned contentSize) override;
269 
271  virtual bool setToNet() override;
272 
274  static DtSimReport* creator();
275 
276  virtual DtString stringRep() const override;
277  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths = SearchPaths(),
278  const DtVariableBindingsList& variableBindings = nullVariableReference()) override;
279 
282  virtual bool mergeSpotReport(const DtSpotReport& rhs);
283 
284 protected:
285 
290 
293 
296 
299 
303 
306 
307  unsigned long myResendId;
308 };
309 
DtRwReal myDateAndTimeOfReport
Time report was generated.
Definition: spotReport.h:295
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)=0
virtual bool setToNet()=0
DtRwString mySpotterMarkingText
Definition: spotReport.h:287
virtual const DtSimReportMessageType & type() const =0
What kind of report am I? Returns a character string representing the kind of report. Derived classes must implement this function, returning a string that uniquely represents the kind of report it is. The definitions for report types used in VR-Forces are in radioMsgTypes.h.
unsigned long myResendId
Definition: spotReport.h:307
virtual DtSimReport * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const =0
Make a copy of this report. Returns a pointer to a newly created copy of this report. Derived classes must implement this function to instantiate and initialize a copy of the derived class type.
DtRwUUID mySpotter
Definition: spotReport.h:289
const DtSimReport & operator=(const DtSimReport &orig)
assignment operator; same as copy constructor
Reason
Definition: spotReport.h:38
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwInt mySpotterForceType
Definition: spotReport.h:288
Definition: vrfObjectMessageTypeTemplate.h:24
Definition: readerWriterRegistry.h:39
DtRwString myEngagementResult
If this is some kind of engagement, a string that describes the outcome.
Definition: spotReport.h:292
Contains the DtUUID class declaration.
DtRwInt myReason
Definition: spotReport.h:304
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
uuid class
Definition: rwUUID.h:26
virtual int netRepSize() const =0
DtRwReal myExpirationTime
Definition: spotReport.h:305
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
Description: Readable, Writable int.
Definition: rwInt.h:25
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
virtual DtString stringRep() const
DtRwBoolean myUseGroundTruth
Hint to the front-end to ignore spot report data and use ground truth for the spot report (default is...
Definition: spotReport.h:302
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
DtRwSensorContactInfo myContactInfo
Definition: spotReport.h:286
DtRwReal mySimulationTime
Simulation time that the report was generated.
Definition: spotReport.h:298
static const DtVariableBindingsList & nullVariableReference()
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtSpotReport; subclass of DtSimReport.
Definition: spotReport.h:35
DtSimReport is an abstract base class from which real reports can derive. It manages the read/write c...
Definition: simReport.h:25

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)