VR-Forces 4.8 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 void preFirstTickInit();
78 
81  virtual const char* type() const;
82 
84  virtual const char* defaultPSRType() const;
85 
93  virtual int sensorType() const;
94 
98  virtual void tick();
99 
104  virtual int determineForceType(const DtVrfObject* object,DtRwSensorContactInfo * contactInfo);
105 
111  virtual double determineRadius(const DtVrfObject* object,DtRwSensorContactInfo * contactInfo);
112 
114  virtual void zoomSensor(double zoomLevel);
115 
117  virtual void setSensorEnabled(bool enabled);
118 
122  static DtSimComponent * creator(const DtString& name,
123  DtVrfObject* owner,
124  DtSimManager* simManager,
125  DtComponentDescriptor* desc = 0,
126  DtReaderWriterRegistry* parentRegistry = 0);
127 
128 protected:
129 
131  virtual bool createPorts();
132 
139  virtual bool detectObject(const DtVrfObject* object, DtRwSensorContactInfo* contactInfo);
140 
146  DtRwSensorContactInfo* contactInfo,
147  bool& contactInfoModified);
148 
152  virtual double minimumSignatureThreshold(double sensorSensitivity) const;
153 
179  virtual double apparentSignature(const DtVrfObject* object,
180  bool losValueIfTerrainUnavailable, double sensorSensitivity) const;
181 
184  virtual bool detectedThisPeriod(double appSignature) const;
185 
194  virtual bool determineIdentificationLevel(const DtVrfObject* object,
195  DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
196 
198  virtual bool updateSensorContactInfo(const DtVrfObject * object,
199  DtRwSensorContactInfo * contactInfo,int updateLevel);
200 
204  virtual void addDetectionError(DtRwSensorContactInfo * info,int level);
205 
210  virtual double sensitivity() const;
211 
217  virtual double sensitivityModifier() const;
218 
222  virtual bool objectInSector(const DtVrfObject * object) const;
223  //End deprecation
224 
226  virtual double windEffects() const;
227 
229  virtual double precipitationEffects() const;
230 
234  virtual void setupGeometryForDetection();
235 
238  virtual double suppressionEffects() const;
239 
240  virtual const DtString& probabilityString() const;
241 
242 
243 protected:
246 
250 
253 
255 
259 
261 
262  DtAnalogInputPort* myZoomLevelPort;
267 
274 };
275 
#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
DtVrfSensorFieldOfView manages a VR-Link sensor field of view (FOV) publisher, and sets all the value...
Definition: vrfSensorFieldOfView.h:30
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
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
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:254
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:272
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:249
DtVrfSensorFieldOfView * myFieldOfView
The field of view of the sensor.
Definition: signatureObjectSensor.h:252
ContinueDetectingResult
Definition: objectSensor.h:66
DtSignatureObjectSensorPSR * mySignatureSensorPSR
DtObjectSensor's myProcessState cast to our PSR type.
Definition: signatureObjectSensor.h:258
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
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:102
DtSymbolString mySensorDomain
Definition: signatureObjectSensor.h:245
DtVector myLocalSensorPosition
Computed once per tick:
Definition: signatureObjectSensor.h:248
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.
DtSignatureDLDeterminator is used to determine the level of detection of the object.
Definition: signatureDetectLevelDeterminator.h:26
const DtSignatureObjectSensorDescriptor * mySignatureObjectSensorDescriptor
Definition: signatureObjectSensor.h:244
DtSignatureObjectSensorDescriptor; descriptor for the DtSignatureObjectSensor component.
Definition: signatureObjectSensorDescriptor.h:30
virtual void preFirstTickInit()
Initializes the component before it is ticked for the first time.
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)