VR-Forces Developer's Guide
 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 
69 {
70 public:
72 
73  DtRwSensorContactInfo(const DtString& name,
74  DtReaderWriterRegistry* const parentRegistry = NULL);
76  DtReaderWriterRegistry* const parentRegistry = NULL);
77 
79  DtReaderWriterRegistry* const parentRegistry = NULL);
80 
81  virtual ~DtRwSensorContactInfo();
82 
84 
87 
88  virtual const DtEntityIdentifier& id() const { return myId; };
89  virtual void setId(const DtEntityIdentifier& id) { myId = id; };
91 
96  virtual void fixDetectionTimesFromDateAndTime(double currentSimTime,
97  double currentDateAndTime);
98 
100 
101  virtual double originalDetectionTime() const { return myOriginalTimeOfDetection; };
102  virtual void setOriginalDetectionTime(DtReal origTime);
104 
106 
107  virtual double originalDetectionDateAndTime() const { return myOriginalDateAndTimeOfDetection; };
108  virtual void setOriginalDetectionDateAndTime(DtReal origTime) { myOriginalDateAndTimeOfDetection = origTime; };
110 
112 
113  virtual void setLastTimeOfDetection(double time);
114  virtual double lastDetectionTime() const { return myLastTimeOfDetection; };
116 
118 
119  virtual void setLastDateAndTimeOfDetection(double time) { myLastDateAndTimeOfDetection = time; };
120  virtual double lastDetectionDateAndTime() const { return myLastDateAndTimeOfDetection; };
122 
124 
125  virtual const DtUUID& spotter() const { return mySpotter; };
126  virtual void setSpotter(const DtUUID& name) { mySpotter = name; };
128 
130  virtual void setSpotterMarkingText(const DtString& s) { mySpotterMarkingText = s; };
131  virtual const DtString& spotterMarkingText() const { return mySpotterMarkingText; };
132 
134 
135  virtual const DtUUID& contact() const { return myContact; };
137 
139  virtual void setContact(const DtUUID& name) { myContact = name; };
141 
143  virtual void setContactMarkingText(const DtString& s) { myContactMarkingText = s; };
144  virtual const DtString& contactMarkingText() const { return myContactMarkingText; };
145 
147 
148  virtual int combatIdentificationLevel() const {return myCombatIdentificationLevel; };
149  virtual void setCombatIdentificationLevel(int level) { myCombatIdentificationLevel = level; };
151 
156 
157  virtual double detectionErrorRange() const {return myDetectionErrorRange; };
159  virtual void setDetectionErrorRange(double dist) { myDetectionErrorRange = dist; };
161  virtual double detectionErrorHorizontal() const { return myDetectionErrorHorizontal; };
162  virtual void setDetectionErrorHorizontal(double angle) { myDetectionErrorHorizontal = angle; };
164  virtual double detectionErrorVertical() const { return myDetectionErrorVertical; };
165  virtual void setDetectionErrorVertical(double angle) { myDetectionErrorVertical = angle; };
167 
172 
173  virtual void setContactIsCurrentlyDetected(bool);
174  virtual bool isContactCurrentlyDetected() const;
176 
179 
180  virtual void setContactPosition(const DtVector& vector);
181  virtual DtVector contactPosition() const;
183 
186 
187  virtual void setContactOrientation( const DtTaitBryan& orientation );
188  virtual DtTaitBryan contactOrientation() const;
190 
193 
194  virtual void setContactVelocity( const DtVector& velocity );
195  virtual DtVector contactVelocity() const;
197 
202 
203  virtual void setContactType(const DtObjectType& type);
204  virtual DtObjectType contactType() const;
206 
209 
210  virtual void setContactForce(const DtForceType& force);
211  virtual DtForceType contactForce() const;
213 
216 
217  virtual void setContactFormation(const DtAggregateFormation formation);
218  virtual DtAggregateFormation contactFormation() const;
219  virtual DtString contactFormationString() const;
221 
222 
226 
227  virtual void setContactActivity(const DtString& activity);
228  virtual const DtString& contactActivity() const;
230 
232 
233  virtual void setContactAppearance(const DtAppearance & app);
234  virtual const DtAppearance& contactAppearance() const;
235  virtual DtAppearance& contactAppearance() ;
237 
241 
242  virtual void setContactRadius(DtReal radius);
243  virtual DtReal contactRadius() const;
245 
248 
249  virtual void setHealthPercentage(DtReal);
250  virtual DtReal healthPercentage() const;
252 
256 
257  virtual void setIsBreached(bool);
258  virtual bool isBreached() const;
260 
263 
264  virtual void setContactExpirationTime(DtReal contactExpirationTime);
265  virtual DtReal contactExpirationTime() const;
267 
269  virtual const DtNLengthIntegerVector& contactSources() const;
270  virtual void setContactSources(const DtNLengthIntegerVector& sources);
271 
275  virtual bool addContactSource(int source);
276 
280  virtual bool addContactSources(const DtNLengthIntegerVector& sources);
281 
283 
284  virtual void removeContactSource(int source);
286 
289 
290  virtual int findContactSource( int source);
292 
294  virtual DtRwSensorContactInfo* clone() const;
295 
296  bool operator==(const DtRwSensorContactInfo&) const;
297 
298 protected:
303  DtEntityIdentifier myId;
327 
330 
334 
337 
342 };
343 
349 
350 namespace DtBufferSerialize
351 {
354 
360  DT_DLL_vrfutil char *encode(const DtRwSensorContactInfo& data, char *buffer);
361 
367  DT_DLL_vrfutil const char *decode(DtRwSensorContactInfo &data, const char *buffer) ;
368 }
bool operator==(const DtReaderWriter &) const
Equivalence operator.
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Definition: rwSensorContactInfo.h:53
virtual void setContact(const DtUUID &name)
Was: setContactName.
Definition: rwSensorContactInfo.h:139
DtRwString myContactMarkingText
Definition: rwSensorContactInfo.h:300
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:143
DtRwReal myContactRadius
Only aggregate entities have a contact radius.
Definition: rwSensorContactInfo.h:326
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:317
Description: DtNLengthIntegerVector is a named, readable/writable vector of integers of arbitrary len...
Definition: nLengthIntegerVector.h:28
DtRwString myContactActivity
Definition: rwSensorContactInfo.h:323
DtRwReal myHealthPercentage
Percentage of health remaining.
Definition: rwSensorContactInfo.h:329
DtCIDLevelType
Enumeration describing the levels of combat identification.
Definition: rwSensorContactInfo.h:32
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtSensorTypeEnum
Enumeration describing the source of the contact information.
Definition: rwSensorContactInfo.h:43
virtual const DtString & spotterMarkingText() const
Definition: rwSensorContactInfo.h:131
DtRwBoolean myIsContactCurrentlyDetected
If true, this contact is currently detected by a sensor or by spot report. If false, this contact was previously detected, will age and timeout if the contact is not reacquired by a sensor.
Definition: rwSensorContactInfo.h:341
DtRwReal myOriginalTimeOfDetection
Definition: rwSensorContactInfo.h:304
virtual const DtEntityIdentifier & id() const
Entity identifier for the contact. It is preferred to use contactName() instead.
Definition: rwSensorContactInfo.h:88
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:306
virtual double originalDetectionTime() const
First time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:101
virtual const DtString & contactMarkingText() const
Definition: rwSensorContactInfo.h:144
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:319
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 ...
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
DtRwReal myDetectionErrorVertical
Definition: rwSensorContactInfo.h:310
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
Definition: rwSensorContactInfo.h:35
virtual double detectionErrorHorizontal() const
Horizontal error is specified in radians.
Definition: rwSensorContactInfo.h:161
virtual void setDetectionErrorHorizontal(double angle)
Error range of the sensor that detected the contact. VRF default sensors set 0 for all error values...
Definition: rwSensorContactInfo.h:162
Definition: rwSensorContactInfo.h:51
virtual const DtUUID & spotter() const
Get/Set spotter.
Definition: rwSensorContactInfo.h:125
virtual void setId(const DtEntityIdentifier &id)
Entity identifier for the contact. It is preferred to use contactName() instead.
Definition: rwSensorContactInfo.h:89
DtRwReal myLastDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:307
Definition: rwSensorContactInfo.h:52
Definition: rwSensorContactInfo.h:46
uuid class
Definition: rwUUID.h:26
virtual int combatIdentificationLevel() const
The combat Identification level associated with this sensor contact.
Definition: rwSensorContactInfo.h:148
Definition: objectType.h:27
DtRwReal myContactExpirationTime
Expiration time for the contact.
Definition: rwSensorContactInfo.h:336
Description: Readable, Writable DtAggregateFormation.
Definition: rwFormationType.h:30
Contains the DtRwTaitBryan class declaration.
Definition: rwVector.h:23
DtRwFormationType myContactFormation
Not currently used.
Definition: rwSensorContactInfo.h:322
Definition: rwSensorContactInfo.h:37
virtual void setCombatIdentificationLevel(int level)
The combat Identification level associated with this sensor contact.
Definition: rwSensorContactInfo.h:149
DtRwReal myDetectionErrorRange
Definition: rwSensorContactInfo.h:309
DtRwInt myCombatIdentificationLevel
Definition: rwSensorContactInfo.h:308
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
virtual double lastDetectionTime() const
The most recent time this contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:114
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
DtRwReal myDetectionErrorHorizontal
Definition: rwSensorContactInfo.h:311
virtual void setLastDateAndTimeOfDetection(double time)
The most recent date and time this contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:119
virtual void setDetectionErrorRange(double dist)
Error range of the sensor that detected the contact. VRF default sensors set 0 for all error values...
Definition: rwSensorContactInfo.h:159
Definition: rwSensorContactInfo.h:34
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
DtRwString mySpotterMarkingText
Definition: rwSensorContactInfo.h:302
DtRwAppearance myContactAppearance
Definition: rwSensorContactInfo.h:324
const char * source
Definition: lz4.h:442
Description: A readable, writable DtForceType.
Definition: rwForceType.h:26
Definition: rwSensorContactInfo.h:49
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
virtual double detectionErrorVertical() const
Vertical error is specified in radians.
Definition: rwSensorContactInfo.h:164
DtRwBoolean myIsBreached
Whether the object has been breached or not. Only valid for some object types.
Definition: rwSensorContactInfo.h:333
virtual void setDetectionErrorVertical(double angle)
Error range of the sensor that detected the contact. VRF default sensors set 0 for all error values...
Definition: rwSensorContactInfo.h:165
virtual void setOriginalDetectionDateAndTime(DtReal origTime)
First date and time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:108
DtRwUUID myContact
Definition: rwSensorContactInfo.h:299
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:130
DtRwObjectType myContactType
Definition: rwSensorContactInfo.h:318
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:313
DtRwReal myOriginalDateAndTimeOfDetection
Definition: rwSensorContactInfo.h:305
DtRwTaitBryan myContactOrientation
In world reference frame. (Geocentric)
Definition: rwSensorContactInfo.h:315
virtual double originalDetectionDateAndTime() const
First date and time the contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:107
DtRwUUID mySpotter
Definition: rwSensorContactInfo.h:301
virtual DtSymbolString name() const
Accessor for name of this readable/writable object.
virtual void setSpotter(const DtUUID &name)
Get/Set spotter.
Definition: rwSensorContactInfo.h:126
Secondary Beacon Radar (i.e. IFF)
Definition: rwSensorContactInfo.h:56
DtNLengthIntegerVector myContactSourceTypes
Definition: rwSensorContactInfo.h:320
File: rwVector.h.
DtEntityIdentifier myId
Definition: rwSensorContactInfo.h:303
Definition: rwSensorContactInfo.h:48
virtual double lastDetectionDateAndTime() const
The most recent date and time this contact was spotted by the sensor.
Definition: rwSensorContactInfo.h:120

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)