VR-Forces 4.10 Class Documentation
 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  DtVrfObject* owner,
62  DtSimManager* 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 DtVrfObject* object,DtRwSensorContactInfo * contactInfo);
101 
107  virtual double determineRadius(const DtVrfObject* 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  DtVrfObject* owner,
120  DtSimManager* 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(const DtVrfObject* object, DtRwSensorContactInfo* contactInfo);
139 
145  DtRwSensorContactInfo* contactInfo,
146  bool& contactInfoModified);
147 
151  virtual double minimumSignatureThreshold(double sensorSensitivity) const;
152 
178  virtual double apparentSignature(const DtVrfObject* object,
179  bool losValueIfTerrainUnavailable, double sensorSensitivity) const;
180 
183  virtual bool detectedThisPeriod(double appSignature) const;
184 
193  virtual bool determineIdentificationLevel(const DtVrfObject* object,
194  DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
195 
197  virtual bool updateSensorContactInfo(const DtVrfObject * object,
198  DtRwSensorContactInfo * contactInfo,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 DtVrfObject * 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
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
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:30
virtual bool createPortGroups()
Creates and initializes port groups.
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
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:42
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:67
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
virtual bool detectObject(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
DtObjectSensor is a base level sensor component.
Definition: objectSensor.h:50
A sensor component which uses the VR-Forces Sensor Signature model for detecting object.
Definition: signatureObjectSensor.h:41
virtual void setSensorEnabled(bool enabled)
virtual ContinueDetectingResult continueDetectingObject(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified)
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:66
DtSignatureObjectSensorPSR * mySignatureSensorPSR
DtObjectSensor's myProcessState cast to our PSR type.
Definition: signatureObjectSensor.h:257
class DtSignatureObjectSensorPSR:
Definition: signatureObjectSensorPSR.h:18
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
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.
Definition: inputPortGroup.h:32
Contains class declarations for DtAnalogInputPort, DtAnalogOutputPort, and DtAnalogPortData.
Definition: analogIOPort.h:25
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
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.
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual void tick()
Processes only if the simulation is not paused.
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.
Definition: signatureDetectLevelDeterminator.h:26
const DtSignatureObjectSensorDescriptor * mySignatureObjectSensorDescriptor
Definition: signatureObjectSensor.h:243
DtSignatureObjectSensorDescriptor; descriptor for the DtSignatureObjectSensor component.
Definition: signatureObjectSensorDescriptor.h:30
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...

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)