VR-Forces 4.7 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(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 
198  virtual bool updateSensorContactInfo( 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 
263 
264 
265 
267 
274 };
275 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)