VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwSensorContactInfo.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <readerWriter/rwReal.h>
13 #include <readerWriter/rwList.h>
14 #include <readerWriter/rwString.h>
15 #include "readerWriter/rwVector.h"
16 #include <readerWriter/rwInt.h>
18 #include <vlutil/vlTime.h>
20 #include "vrfutil/rwUUID.h"
21 #include "vrfutil/rwTaitBryan.h"
23 #include "vrfutil/rwForceType.h"
24 #include "vrfutil/rwAppearance.h"
25 #include <readerWriter/rwBoolean.h>
26 #include <vl/hostStructs.h>
27 #include "vrfutil/vrfutilDefines.h"
28 
30 
33 {
39 };
40 
41 
43 typedef enum
44 {
58 
66 
68 {
69 public:
71 
72  DtRwSensorContactInfo(const DtString& name,
73  DtReaderWriterRegistry* const parentRegistry = NULL);
75  DtReaderWriterRegistry* const parentRegistry = NULL);
76 
78  DtReaderWriterRegistry* const parentRegistry = NULL);
79 
80  virtual ~DtRwSensorContactInfo();
81 
83 
86 
87  virtual const DtEntityIdentifier& id() const { return myId; };
88  virtual void setId(const DtEntityIdentifier& id) { myId = id; };
90 
95  virtual void fixDetectionTimesFromDateAndTime(double currentSimTime,
96  double currentDateAndTime);
97 
99 
100  virtual double originalDetectionTime() const { return myOriginalTimeOfDetection; };
101  virtual void setOriginalDetectionTime(DtReal origTime);
103 
105 
106  virtual double originalDetectionDateAndTime() const { return myOriginalDateAndTimeOfDetection; };
107  virtual void setOriginalDetectionDateAndTime(DtReal origTime) { myOriginalDateAndTimeOfDetection = origTime; };
109 
111 
112  virtual void setLastTimeOfDetection(double time);
113  virtual double lastDetectionTime() const { return myLastTimeOfDetection; };
115 
117 
118  virtual void setLastDateAndTimeOfDetection(double time) { myLastDateAndTimeOfDetection = time; };
119  virtual double lastDetectionDateAndTime() const { return myLastDateAndTimeOfDetection; };
121 
123 
124  virtual const DtUUID& contact() const { return myContact; };
126 
128  virtual void setContact(const DtUUID& name) { myContact = name; };
130 
132  virtual void setContactMarkingText(const DtString& s) { myContactMarkingText = s; };
133  virtual const DtString& contactMarkingText() const { return myContactMarkingText; };
134 
136 
137  virtual int combatIdentificationLevel() const {return myCombatIdentificationLevel; };
138  virtual void setCombatIdentificationLevel(int level) { myCombatIdentificationLevel = level; };
140 
143 
144  virtual double detectionError() const {return myDetectionError; };
145  virtual void setDetectionError(double level) { myDetectionError = level; };
147 
150 
151  virtual void setContactPosition(const DtVector& vector);
152  virtual DtVector contactPosition() const;
154 
157 
158  virtual void setContactOrientation( const DtTaitBryan& orientation );
159  virtual DtTaitBryan contactOrientation() const;
161 
164 
165  virtual void setContactVelocity( const DtVector& velocity );
166  virtual DtVector contactVelocity() const;
168 
173 
174  virtual void setContactType(const DtObjectType& type);
175  virtual DtObjectType contactType() const;
177 
180 
181  virtual void setContactForce(const DtForceType& force);
182  virtual DtForceType contactForce() const;
184 
187 
188  virtual void setContactFormation(const DtAggregateFormation formation);
189  virtual DtAggregateFormation contactFormation() const;
190  virtual DtString contactFormationString() const;
192 
193 
197 
198  virtual void setContactActivity(const DtString& activity);
199  virtual const DtString& contactActivity() const;
201 
203 
204  virtual void setContactAppearance(const DtAppearance & app);
205  virtual const DtAppearance& contactAppearance() const;
206  virtual DtAppearance& contactAppearance() ;
208 
212 
213  virtual void setContactRadius(DtReal radius);
214  virtual DtReal contactRadius() const;
216 
219 
220  virtual void setHealthPercentage(DtReal);
221  virtual DtReal healthPercentage() const;
223 
227 
228  virtual void setIsBreached(bool);
229  virtual bool isBreached() const;
231 
233  virtual const DtNLengthIntegerVector& contactSources() const;
234  virtual void setContactSources(const DtNLengthIntegerVector& sources);
235 
239  virtual bool addContactSource(int source);
240 
244  virtual bool addContactSources(const DtNLengthIntegerVector& sources);
245 
247 
248  virtual void removeContactSource(int source);
250 
253 
254  virtual int findContactSource( int source);
256 
258  virtual DtRwSensorContactInfo* clone() const;
259 
260  bool operator==(const DtRwSensorContactInfo&) const;
261 
262 protected:
265  DtEntityIdentifier myId;
289 
292 
296 };
297 
303 
304 namespace DtBufferSerialize
305 {
308 
314  DT_DLL_vrfutil char *encode(const DtRwSensorContactInfo& data, char *buffer);
315 
321  DT_DLL_vrfutil const char *decode(DtRwSensorContactInfo &data, const char *buffer) ;
322 }
bool operator==(const DtReaderWriter &) const
Equivalence operator.
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Definition: rwSensorContactInfo.h:53
virtual void setContact(const DtUUID &name)
Was: setContactName.
Definition: rwSensorContactInfo.h:128
DtRwString myContactMarkingText
Definition: rwSensorContactInfo.h:264
RF Emissions.
Definition: rwSensorContactInfo.h:55
virtual void setContactMarkingText(const DtString &s)
The contact marking text for use if recorded in a logger tape and the UUID is not available...
Definition: rwSensorContactInfo.h:132
DtRwReal myContactRadius
Only aggregate entities have a contact radius.
Definition: rwSensorContactInfo.h:288
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
DtRwVector myContactVelocity
In world reference frame. (Geocentric)
Definition: rwSensorContactInfo.h:279
Description: DtNLengthIntegerVector is a named, readable/writable vector of integers of arbitrary len...
Definition: nLengthIntegerVector.h:28
DtRwString myContactActivity
Definition: rwSensorContactInfo.h:285
DtRwReal myHealthPercentage
Percentage of health remaining.
Definition: rwSensorContactInfo.h:291
DtCIDLevelType
Enumeration describing the levels of combat identification.
Definition: rwSensorContactInfo.h:32
Definition: symbolString.h:20
DtSensorTypeEnum
Enumeration describing the source of the contact information.
Definition: rwSensorContactInfo.h:43
DtRwReal myOriginalTimeOfDetection
Definition: rwSensorContactInfo.h:266
virtual const DtEntityIdentifier & id() const
Entity identifier for the contact.
Definition: rwSensorContactInfo.h:87
class DtRwObjectType:
Definition: rwObjectType.h:18
Definition: rwSensorContactInfo.h:45
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
DtRwReal myLastTimeOfDetection
Definition: rwSensorContactInfo.h:268
virtual double originalDetectionTime() const
First time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:100
virtual const DtString & contactMarkingText() const
Definition: rwSensorContactInfo.h:133
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwForceType myContactForce
Definition: rwSensorContactInfo.h:281
DT_DLL_vrfutil bool mergeContactInfo(DtRwSensorContactInfo &info, const DtRwSensorContactInfo &sourceInfo)
Merges data from sourceInfo into info, based on the time of contact in each, and the detection level ...
File: rwTaitBryan.h.
Definition: rwTaitBryan.h:24
Definition: readerWriterRegistry.h:39
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:67
Definition: rwSensorContactInfo.h:35
Definition: rwSensorContactInfo.h:51
virtual void setId(const DtEntityIdentifier &id)
Definition: rwSensorContactInfo.h:88
DtRwReal myLastDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:269
Definition: rwSensorContactInfo.h:52
virtual double detectionError() const
The quality of the physical characteristics associated with this sensor contact.
Definition: rwSensorContactInfo.h:144
Definition: rwSensorContactInfo.h:46
Description: Readable, Writable uuid string.
Definition: rwUUID.h:419
virtual int combatIdentificationLevel() const
The combat Identification level associated with this sensor contact.
Definition: rwSensorContactInfo.h:137
Definition: objectType.h:27
Description: Readable, Writable DtAggregateFormation.
Definition: rwFormationType.h:30
Definition: rwVector.h:23
DtRwFormationType myContactFormation
Not currently used.
Definition: rwSensorContactInfo.h:284
Definition: rwSensorContactInfo.h:37
virtual void setDetectionError(double level)
Definition: rwSensorContactInfo.h:145
virtual void setCombatIdentificationLevel(int level)
Definition: rwSensorContactInfo.h:138
DtRwInt myCombatIdentificationLevel
Definition: rwSensorContactInfo.h:270
virtual double lastDetectionTime() const
Definition: rwSensorContactInfo.h:113
Class Description: Readable, writable form of DtAppearance.
Definition: rwAppearance.h:16
Definition: rwSensorContactInfo.h:47
Description: Readable, Writable int.
Definition: rwInt.h:25
Magnetic Anomaly Detection.
Definition: rwSensorContactInfo.h:54
virtual void setLastDateAndTimeOfDetection(double time)
The most recent date and time this contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:118
Definition: rwSensorContactInfo.h:34
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
DtRwAppearance myContactAppearance
Definition: rwSensorContactInfo.h:286
const char * source
Definition: lz4.h:436
Description: A readable, writable DtForceType.
Definition: rwForceType.h:26
Definition: rwSensorContactInfo.h:49
DtRwReal myDetectionError
Describes how well known the position and velocity are.
Definition: rwSensorContactInfo.h:273
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwBoolean myIsBreached
Whether the object has been breached or not.
Definition: rwSensorContactInfo.h:295
virtual void setOriginalDetectionDateAndTime(DtReal origTime)
Definition: rwSensorContactInfo.h:107
DtRwUUID myContact
Definition: rwSensorContactInfo.h:263
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
Definition: rwSensorContactInfo.h:36
DtRwObjectType myContactType
Definition: rwSensorContactInfo.h:280
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
Definition: rwSensorContactInfo.h:38
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
Definition: rwSensorContactInfo.h:50
DtRwVector myContactPosition
In world reference frame. (Geocentric)
Definition: rwSensorContactInfo.h:275
DtRwReal myOriginalDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:267
DtRwTaitBryan myContactOrientation
In world reference frame. (Geocentric)
Definition: rwSensorContactInfo.h:277
virtual double originalDetectionDateAndTime() const
First date and time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:106
virtual DtSymbolString name() const
Accessor for name of this readable/writable object.
Secondary Beacon Radar (i.e. IFF)
Definition: rwSensorContactInfo.h:56
DtNLengthIntegerVector myContactSourceTypes
Definition: rwSensorContactInfo.h:282
File: rwVector.h.
DtEntityIdentifier myId
Definition: rwSensorContactInfo.h:265
Definition: rwSensorContactInfo.h:48
virtual double lastDetectionDateAndTime() const
Definition: rwSensorContactInfo.h:119

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)