VR-Forces 4.6.1 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"
14 #include "tdbutil/symbolString.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(DtVrfObject * object,DtRwSensorContactInfo * contactInfo);
105 
111  virtual double determineRadius(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(DtVrfObject* object, DtRwSensorContactInfo* contactInfo);
140 
146  DtRwSensorContactInfo* contactInfo,
147  bool& contactInfoModified);
148 
152  virtual double minimumSignatureThreshold(double sensorSensitivity) const;
153 
179  virtual double apparentSignature(DtVrfObject* object,
180  bool losValueIfTerrainUnavailable, double sensorSensitivity) const;
181 
184  virtual bool detectedThisPeriod(double appSignature) const;
185 
194  virtual bool determineIdentificationLevel(DtVrfObject * object,
195  DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
196 
197  virtual void updateSensorContactInfo( 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 
226  virtual DtVector localSensorPosition() const;
227 
230  virtual DtVector bodySensorPosition() const;
231 
233  virtual double windEffects() const;
234 
236  virtual double precipitationEffects() const;
237 
241  virtual void setupGeometryForDetection();
242 
245  virtual double suppressionEffects() const;
246 
247  virtual const DtString& probabilityString() const;
248 
249 
250 protected:
253 
257 
260 
262 
266 
268 
269 
270 
271 
272 
274 
281 };
282 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)