VR-Forces 5.0.1 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();
54 
55  const DtSpotReport & operator=(const DtSpotReport & orig);
56 
57 private:
59  DtSpotReport();
60 
61 public:
64  virtual const DtSimReportMessageType& type() const;
65 
67  virtual DtSimReport * clone(
68  const DtString& name,
69  DtReaderWriterRegistry* parentRegistry = 0) const;
70 
74  virtual void setContactLocation(const DtVector& vector);
75  virtual DtVector contactLocation() const;
77 
81  virtual void setContactOrientation( const DtTaitBryan& orientation );
82  virtual DtTaitBryan contactOrientation() const;
84 
88  virtual void setContactVelocity( const DtVector& velocity );
89  virtual DtVector contactVelocity() const;
91 
94  virtual void setResendId(unsigned int);
95  virtual unsigned int resendId() const;
96 
99  virtual void setReason( Reason );
100  virtual Reason reason() const;
102 
108  virtual void setContactType(const DtObjectType& type);
109  virtual DtObjectType contactType() const;
111 
115  virtual void setContactFormation(const DtAggregateFormation formation);
116  virtual DtAggregateFormation contactFormation() const;
118 
122  virtual void setContactForce(const DtForceType& force);
123  virtual DtForceType contactForce() const;
125 
130  virtual void setContactActivity(const DtString& activityEnum);
131  virtual const DtString& contactActivity() const;
133 
137 
138  virtual void setContactRadius(DtReal radius);
139  virtual DtReal contactRadius() const;
141 
147  virtual void setContact(const DtUUID&);
148 
150  virtual const DtUUID& contact() const;
152 
154  virtual void setContactMarkingText(const DtString&);
155  virtual const DtString& contactMarkingText() const;
156 
163  virtual void setSpotter(const DtUUID&);
164 
166  virtual const DtUUID& spotter() const;
168 
172  virtual void setSpotterMarkingText(const DtString&);
173  virtual const DtString& spotterMarkingText() const;
174 
175  virtual void setSpotterForceType(int);
176  virtual int spotterForceType() const;
178 
183  virtual DtTime timeOfReport() const;
185 
188  virtual void setDateAndTimeOfReport(DtTime t);
189  virtual DtTime dateAndTimeOfReport() const;
191 
194  virtual void setSimulationTime(double);
195  virtual double simulationTime() const;
197 
201  virtual void setExpirationTime(double);
202  virtual double expirationTime() const;
204 
208  virtual DtTime timeOfContact() const;
210 
214  virtual void setDateAndTimeOfContact(DtTime t);
215  virtual DtTime dateAndTimeOfContact() const;
217 
221  virtual void setOriginalDateAndTimeOfContact(DtTime t);
222  virtual DtTime originalDateAndTimeOfContact() const;
224 
227  virtual void setCombatIdentificationLevel(int t);
228  virtual int combatIdentificationLevel() const;
230 
233  virtual void setDetectionError(double detectionErrorIn);
234  virtual double detectionError() const;
236 
239  virtual void setContactHealthPercentage(double);
240  virtual double contactHealthPercentage() const;
242 
245  virtual void setContactInfo(const DtRwSensorContactInfo & info);
246  virtual const DtRwSensorContactInfo & contactInfo() const;
247  virtual DtRwSensorContactInfo& contactInfo();
249 
252  virtual void setUseGroundTruth(bool);
253  virtual bool useGroundTruth() const;
255 
258  virtual void setEngagementResult(const DtString&);
259  virtual const DtString& engagementResult() const;
261 
263  virtual int netRepSize() const;
264 
266  virtual bool setFromNet(const char* networkBuffer,
267  unsigned contentSize);
268 
270  virtual bool setToNet();
271 
273  static DtSimReport* creator();
274 
275  virtual DtString stringRep() const;
276  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths = SearchPaths(),
277  const DtVariableBindingsList& variableBindings = nullVariableReference());
278 
281  virtual bool mergeSpotReport(const DtSpotReport& rhs);
282 
283 protected:
284 
289 
292 
295 
298 
302 
305 
306  unsigned long myResendId;
307 };
308 
DtRwReal myDateAndTimeOfReport
Time report was generated.
Definition: spotReport.h:294
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)=0
virtual bool setToNet()=0
DtRwString mySpotterMarkingText
Definition: spotReport.h:286
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:306
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:288
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:287
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:291
Contains the DtUUID class declaration.
DtRwInt myReason
Definition: spotReport.h:303
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:428
Definition: objectType.h:27
virtual int netRepSize() const =0
DtRwReal myExpirationTime
Definition: spotReport.h:304
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
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:301
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
DtRwSensorContactInfo myContactInfo
Definition: spotReport.h:285
DtRwReal mySimulationTime
Simulation time that the report was generated.
Definition: spotReport.h:297
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 Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)