VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
signatureObjectSensor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
7 
10 
11 #pragma once
12 
13 #include "vrfmodel/objectSensor.h"
15 
20 class DtAnalogInputPort;
21 class DtIntegerInputPort;
22 class DtStringOutputPort;
24 
42 {
43 private:
46 
49  orig);
50 
52  const DtSignatureObjectSensor & operator=(const
54 
55 public:
57 
60  DtSignatureObjectSensor(const DtString& name,
61  DtLocalObject* owner,
62  DtSimulationServices* simManager,
63  DtComponentDescriptor* desc = 0,
64  DtReaderWriterRegistry* parentRegistry = 0);
65 
67  virtual ~DtSignatureObjectSensor();
68 
69  virtual bool init();
70 
73  virtual void initSensorFieldOfView();
74 
77  virtual const char* type() const;
78 
80  virtual const char* defaultPSRType() const;
81 
89  virtual int sensorType() const;
90 
94  virtual void tick();
95 
100  virtual int determineForceType(const DtSimObject* object,DtRwSensorContactInfo * contactInfo);
101 
107  virtual double determineRadius(const DtSimObject* object,DtRwSensorContactInfo * contactInfo);
108 
110  virtual void zoomSensor(double zoomLevel);
111 
113  virtual void setSensorEnabled(bool enabled);
114 
118  static DtSimComponent * creator(const DtString& name,
119  DtLocalObject* owner,
120  DtSimulationServices* simManager,
121  DtComponentDescriptor* desc = 0,
122  DtReaderWriterRegistry* parentRegistry = 0);
123 
124 protected:
125 
127  virtual bool createPortGroups();
128 
130  virtual bool createPorts();
131 
138  virtual bool detectObject(DtSimObjectReference object, DtRwSensorContactInfo* contactInfo) override;
139 
145  DtRwSensorContactInfo* contactInfo,
146  bool& contactInfoModified) override;
147 
151  virtual double minimumSignatureThreshold(double sensorSensitivity) const;
152 
178  virtual double apparentSignature(DtSimObjectReference object,
179  bool losValueIfTerrainUnavailable, double sensorSensitivity) const;
180 
183  virtual bool detectedThisPeriod(double appSignature) const;
184 
193  virtual bool determineIdentificationLevel(DtSimObjectReference object,
194  DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
195 
197  virtual bool updateSensorContactInfo(DtSimObjectReference object,
198  DtRwSensorContactInfo * contactInfo, const int updateLevel);
199 
203  virtual void addDetectionError(DtRwSensorContactInfo * info,int level);
204 
209  virtual double sensitivity() const;
210 
216  virtual double sensitivityModifier() const;
217 
221  virtual bool objectInSector(const DtSimObject* object) const;
222  //End deprecation
223 
225  virtual double windEffects() const;
226 
228  virtual double precipitationEffects() const;
229 
233  virtual void setupGeometryForDetection();
234 
237  virtual double suppressionEffects() const;
238 
239  virtual const DtString& probabilityString() const;
240 
241 
242 protected:
245 
249 
252 
254 
258 
260 
261  DtAnalogInputPort* myZoomLevelPort;
266 
272 
277 
283 
289 
295 
302 };
303 
DtAnalogInputPort * myMinFieldOfViewElevationPort
Input Port Name: min-elevation Input Port Description: The minimum elevation at which the field of vi...
Definition: signatureObjectSensor.h:294
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Instances of DtStringOutputPort are output ports through which data producers can send a DtString obj...
Definition: stringIOPort.h:52
Definition: symbolString.h:20
DtAnalogInputPort * myMinFieldOfViewAzimuthPort
Input Port Name: min-azimuth Input Port Description: The minimum azimuth at which the field of view c...
Definition: signatureObjectSensor.h:282
DtVrfSensorFieldOfView manages a VR-Link sensor field of view (FOV) publisher, and sets all the value...
Definition: vrfSensorFieldOfView.h:27
virtual bool createPortGroups()
Creates and initializes port groups.
virtual ContinueDetectingResult continueDetectingObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified)
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
virtual const char * defaultPSRType() const
DtAnalogInputPort * myMaxFieldOfViewAzimuthPort
Input Port Name: max-azimuth Input Port Description: The maximum azimuth at which the field of view c...
Definition: signatureObjectSensor.h:288
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
virtual int sensorType() const
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
DtInputPortGroup * mySensorFieldOfViewLimitsPortGroup
Input Port Group Name: sensor-field-of-view-limits Input Port Group Description: Allows the actuator ...
Definition: signatureObjectSensor.h:276
Definition: readerWriterRegistry.h:39
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
Contains class declarations for DtIntegerInputPort, DtIntegerOutputPort, and DtIntegerPortData.
Definition: integerIOPort.h:25
DtSignatureDetectLevelDeterminator * myDetectionLevelDeterminator
Definition: signatureObjectSensor.h:253
virtual void setupGeometryForDetection()
Sets up the current sensor geometry evaluator with the current position and orientation of the sensor...
DtIntegerInputPort * myFieldOfViewColorPort
Input Port Name: field-of-view-color Input Port Description: Desired color for the sensor field of vi...
Definition: signatureObjectSensor.h:271
const DtObjectSensor & operator=(const DtObjectSensor &orig)
assignment operator; not implemented
DtObjectSensor is a base level sensor component.
Definition: objectSensor.h:53
A sensor component which uses the VR-Forces Sensor Signature model for detecting object.
Definition: signatureObjectSensor.h:41
virtual void setSensorEnabled(bool enabled)
Enables or disables this sensor.
virtual bool createPorts()
Creates the target list port.
double mySensitivity
Definition: signatureObjectSensor.h:248
DtVrfSensorFieldOfView * myFieldOfView
The field of view of the sensor.
Definition: signatureObjectSensor.h:251
ContinueDetectingResult
Definition: objectSensor.h:69
DtSignatureObjectSensorPSR * mySignatureSensorPSR
DtObjectSensor's myProcessState cast to our PSR type. This class with not new or delete this object...
Definition: signatureObjectSensor.h:257
class DtSignatureObjectSensorPSR:
Definition: signatureObjectSensorPSR.h:18
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:89
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
Instances of DtSensorFieldOfViewControlInter are used to store state data for SensorFieldOfViewContro...
Definition: sensorFieldOfViewControlInterDIS.h:51
DtInputPortGroup is a data port group of a data consumer. It may contain any number of DtInputPorts a...
Definition: inputPortGroup.h:35
Contains class declarations for DtAnalogInputPort, DtAnalogOutputPort, and DtAnalogPortData.
Definition: analogIOPort.h:25
DtSymbolString mySensorDomain
Definition: signatureObjectSensor.h:244
DtVector myLocalSensorPosition
Computed once per tick:
Definition: signatureObjectSensor.h:247
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual bool detectObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo)
virtual void tick()
Processes only if the simulation is not paused. Calls attemptToActivate() on myDetectedObjectListPort...
DtAnalogInputPort * myMaxFieldOfViewElevationPort
Input Port Name: max-elevation Input Port Description: The maximum elevation at which the field of vi...
Definition: signatureObjectSensor.h:300
DtSignatureDLDeterminator is used to determine the level of detection of the object. The higher the level the more knowledge of the type of object and the accuracy of it's physical parameters( position, velocity...) Uses the apparent signature of the object and the time it's been detected for to determine the Combat Identification( CID ) Level.
Definition: signatureDetectLevelDeterminator.h:26
const DtSignatureObjectSensorDescriptor * mySignatureObjectSensorDescriptor
Definition: signatureObjectSensor.h:243
DtSignatureObjectSensorDescriptor; descriptor for the DtSignatureObjectSensor component.
Definition: signatureObjectSensorDescriptor.h:30
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...

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)