VR-Forces 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() override;
68 
69  virtual bool init() override;
70 
73  virtual void initSensorFieldOfView();
74 
77  virtual const char* type() const override;
78 
80  virtual const char* defaultPSRType() const override;
81 
89  virtual int sensorType() const override;
90 
94  virtual void tick() override;
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) override;
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() override;
128 
130  virtual bool createPorts() override;
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 updateContactPositionAndOrientation(DtSimObjectReference object,
198  DtRwSensorContactInfo * contactInfo, const int updateLevel);
199 
201  virtual bool updateSensorContactInfo(DtSimObjectReference object,
202  DtRwSensorContactInfo * contactInfo, const int updateLevel);
203 
207  virtual void addDetectionError(DtRwSensorContactInfo * info,int level);
208 
213  virtual double sensitivity() const;
214 
220  virtual double sensitivityModifier() const;
221 
225  virtual bool objectInSector(const DtSimObject* object) const;
226  //End deprecation
227 
229  virtual double windEffects() const;
230 
232  virtual double precipitationEffects() const;
233 
237  virtual void setupGeometryForDetection() override;
238 
241  virtual double suppressionEffects() const;
242 
243  virtual const DtString& probabilityString() const;
244 
246  virtual DtTerrainCategoryMask terrainCategoryMask() const;
247 
248 
249 protected:
252 
256 
259 
261 
265 
267 
268  DtAnalogInputPort* myZoomLevelPort;
273 
279 
284 
290 
296 
302 
309 };
310 
DtAnalogInputPort * myMinFieldOfViewElevationPort
Input Port Name: min-elevation Input Port Description: The minimum elevation at which the field of vi...
Definition: signatureObjectSensor.h:301
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool createPorts() override
Creates the target list port.
Instances of DtStringOutputPort are output ports through which data producers can send a DtString obj...
Definition: stringIOPort.h:52
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtAnalogInputPort * myMinFieldOfViewAzimuthPort
Input Port Name: min-azimuth Input Port Description: The minimum azimuth at which the field of view c...
Definition: signatureObjectSensor.h:289
DtVrfSensorFieldOfView manages a VR-Link sensor field of view (FOV) publisher, and sets all the value...
Definition: vrfSensorFieldOfView.h:27
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:295
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:283
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:260
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:278
virtual bool createPortGroups() override
Creates and initializes port groups.
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.
double mySensitivity
Definition: signatureObjectSensor.h:255
DtVrfSensorFieldOfView * myFieldOfView
The field of view of the sensor.
Definition: signatureObjectSensor.h:258
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:264
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:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
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:80
Instances of DtSensorFieldOfViewControlInter are used to store state data for SensorFieldOfViewContro...
Definition: sensorFieldOfViewControlInterDIS.h:51
unsigned int DtTerrainCategoryMask
This bitmask is made using DtTerrainCategory values.
Definition: rwTerrainCategoryMask.h:27
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:251
DtVector myLocalSensorPosition
Computed once per tick:
Definition: signatureObjectSensor.h:254
virtual bool detectObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo)
virtual bool init() override
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...
virtual void tick() override
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:307
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
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:250
DtSignatureObjectSensorDescriptor; descriptor for the DtSignatureObjectSensor component.
Definition: signatureObjectSensorDescriptor.h:31
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)