VR-Forces 4.10 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& spotter() const { return mySpotter; };
125  virtual void setSpotter(const DtUUID& name) { mySpotter = name; };
127 
129  virtual void setSpotterMarkingText(const DtString& s) { mySpotterMarkingText = s; };
130  virtual const DtString& spotterMarkingText() const { return mySpotterMarkingText; };
131 
133 
134  virtual const DtUUID& contact() const { return myContact; };
136 
138  virtual void setContact(const DtUUID& name) { myContact = name; };
140 
142  virtual void setContactMarkingText(const DtString& s) { myContactMarkingText = s; };
143  virtual const DtString& contactMarkingText() const { return myContactMarkingText; };
144 
146 
147  virtual int combatIdentificationLevel() const {return myCombatIdentificationLevel; };
148  virtual void setCombatIdentificationLevel(int level) { myCombatIdentificationLevel = level; };
150 
153 
154  virtual double detectionError() const {return myDetectionError; };
155  virtual void setDetectionError(double level) { myDetectionError = level; };
157 
160 
161  virtual void setContactPosition(const DtVector& vector);
162  virtual DtVector contactPosition() const;
164 
167 
168  virtual void setContactOrientation( const DtTaitBryan& orientation );
169  virtual DtTaitBryan contactOrientation() const;
171 
174 
175  virtual void setContactVelocity( const DtVector& velocity );
176  virtual DtVector contactVelocity() const;
178 
183 
184  virtual void setContactType(const DtObjectType& type);
185  virtual DtObjectType contactType() const;
187 
190 
191  virtual void setContactForce(const DtForceType& force);
192  virtual DtForceType contactForce() const;
194 
197 
198  virtual void setContactFormation(const DtAggregateFormation formation);
199  virtual DtAggregateFormation contactFormation() const;
200  virtual DtString contactFormationString() const;
202 
203 
207 
208  virtual void setContactActivity(const DtString& activity);
209  virtual const DtString& contactActivity() const;
211 
213 
214  virtual void setContactAppearance(const DtAppearance & app);
215  virtual const DtAppearance& contactAppearance() const;
216  virtual DtAppearance& contactAppearance() ;
218 
222 
223  virtual void setContactRadius(DtReal radius);
224  virtual DtReal contactRadius() const;
226 
229 
230  virtual void setHealthPercentage(DtReal);
231  virtual DtReal healthPercentage() const;
233 
237 
238  virtual void setIsBreached(bool);
239  virtual bool isBreached() const;
241 
244 
245  virtual void setContactExpirationTime(DtReal contactExpirationTime);
246  virtual DtReal contactExpirationTime() const;
248 
250  virtual const DtNLengthIntegerVector& contactSources() const;
251  virtual void setContactSources(const DtNLengthIntegerVector& sources);
252 
256  virtual bool addContactSource(int source);
257 
261  virtual bool addContactSources(const DtNLengthIntegerVector& sources);
262 
264 
265  virtual void removeContactSource(int source);
267 
270 
271  virtual int findContactSource( int source);
273 
275  virtual DtRwSensorContactInfo* clone() const;
276 
277  bool operator==(const DtRwSensorContactInfo&) const;
278 
279 protected:
284  DtEntityIdentifier myId;
308 
311 
315 
318 };
319 
325 
326 namespace DtBufferSerialize
327 {
330 
336  DT_DLL_vrfutil char *encode(const DtRwSensorContactInfo& data, char *buffer);
337 
343  DT_DLL_vrfutil const char *decode(DtRwSensorContactInfo &data, const char *buffer) ;
344 }
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:138
DtRwString myContactMarkingText
Definition: rwSensorContactInfo.h:281
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:142
DtRwReal myContactRadius
Only aggregate entities have a contact radius.
Definition: rwSensorContactInfo.h:307
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:298
Description: DtNLengthIntegerVector is a named, readable/writable vector of integers of arbitrary len...
Definition: nLengthIntegerVector.h:28
DtRwString myContactActivity
Definition: rwSensorContactInfo.h:304
DtRwReal myHealthPercentage
Percentage of health remaining.
Definition: rwSensorContactInfo.h:310
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
virtual const DtString & spotterMarkingText() const
Definition: rwSensorContactInfo.h:130
DtRwReal myOriginalTimeOfDetection
Definition: rwSensorContactInfo.h:285
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:287
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:143
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:300
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 const DtUUID & spotter() const
Get/Set spotter.
Definition: rwSensorContactInfo.h:124
virtual void setId(const DtEntityIdentifier &id)
Definition: rwSensorContactInfo.h:88
DtRwReal myLastDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:288
Definition: rwSensorContactInfo.h:52
virtual double detectionError() const
The quality of the physical characteristics associated with this sensor contact.
Definition: rwSensorContactInfo.h:154
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:147
Definition: objectType.h:27
DtRwReal myContactExpirationTime
Expiration time for the contact.
Definition: rwSensorContactInfo.h:317
Description: Readable, Writable DtAggregateFormation.
Definition: rwFormationType.h:30
Definition: rwVector.h:23
DtRwFormationType myContactFormation
Not currently used.
Definition: rwSensorContactInfo.h:303
Definition: rwSensorContactInfo.h:37
virtual void setDetectionError(double level)
Definition: rwSensorContactInfo.h:155
virtual void setCombatIdentificationLevel(int level)
Definition: rwSensorContactInfo.h:148
DtRwInt myCombatIdentificationLevel
Definition: rwSensorContactInfo.h:289
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.
DtRwString mySpotterMarkingText
Definition: rwSensorContactInfo.h:283
DtRwAppearance myContactAppearance
Definition: rwSensorContactInfo.h:305
const char * source
Definition: lz4.h:442
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:292
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwBoolean myIsBreached
Whether the object has been breached or not.
Definition: rwSensorContactInfo.h:314
virtual void setOriginalDetectionDateAndTime(DtReal origTime)
Definition: rwSensorContactInfo.h:107
DtRwUUID myContact
Definition: rwSensorContactInfo.h:280
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
virtual void setSpotterMarkingText(const DtString &s)
The spotter marking text for use if recorded in a logger tape and the UUID is not available...
Definition: rwSensorContactInfo.h:129
DtRwObjectType myContactType
Definition: rwSensorContactInfo.h:299
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:294
DtRwReal myOriginalDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:286
DtRwTaitBryan myContactOrientation
In world reference frame. (Geocentric)
Definition: rwSensorContactInfo.h:296
virtual double originalDetectionDateAndTime() const
First date and time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:106
DtRwUUID mySpotter
Definition: rwSensorContactInfo.h:282
virtual DtSymbolString name() const
Accessor for name of this readable/writable object.
virtual void setSpotter(const DtUUID &name)
Definition: rwSensorContactInfo.h:125
Secondary Beacon Radar (i.e. IFF)
Definition: rwSensorContactInfo.h:56
DtNLengthIntegerVector myContactSourceTypes
Definition: rwSensorContactInfo.h:301
File: rwVector.h.
DtEntityIdentifier myId
Definition: rwSensorContactInfo.h:284
Definition: rwSensorContactInfo.h:48
virtual double lastDetectionDateAndTime() const
Definition: rwSensorContactInfo.h:119

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)