VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
145  virtual bool continueDetectingObject(DtVrfObject* object, DtRwSensorContactInfo* contactInfo,
146  bool& contactInfoModified);
147 
151  virtual double minimumSignatureThreshold(double sensorSensitivity) const;
152 
178  virtual double apparentSignature(DtVrfObject* object,
179  bool losValueIfTerrainUnavailable, double sensorSensitivity) const;
180 
189  virtual bool determineIdentificationLevel(DtVrfObject * object,
190  DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
191 
192  virtual void updateSensorContactInfo( DtVrfObject * object,
193  DtRwSensorContactInfo * contactInfo,int updateLevel);
194 
198  virtual void addDetectionError(DtRwSensorContactInfo * info,int level);
199 
204  virtual double sensitivity() const;
205 
211  virtual double sensitivityModifier() const;
212 
216  virtual bool objectInSector(const DtVrfObject * object) const;
217  //End deprecation
218 
221  virtual DtVector localSensorPosition() const;
222 
225  virtual DtVector bodySensorPosition() const;
226 
228  virtual double windEffects() const;
229 
231  virtual double precipitationEffects() const;
232 
236  virtual void setupGeometryForDetection();
237 
240  virtual double suppressionEffects() const;
241 
242 
243 protected:
246 
250 
253 
255 
259 
261 
262 
263 
264 
265 
267 
274 };
275 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)