VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
nbcSensor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 
11 #pragma once
12 
13 #include "vrfmodel/objectSensor.h"
15 
16 #include "boost/optional.hpp"
17 
20 
22 
24 {
25 private:
27  DtNbcSensor();
28 
30  DtNbcSensor(const DtNbcSensor & orig);
31 
33  const DtNbcSensor & operator=(const DtNbcSensor & orig);
34 
35 public:
36 
39  DtNbcSensor(const DtString& name,
40  DtVrfObject* owner,
41  DtSimManager* simManager,
42  DtComponentDescriptor* desc = 0,
43  DtReaderWriterRegistry* parentRegistry = 0);
44 
46  virtual ~DtNbcSensor();
47 
48  virtual bool init();
49 
52  virtual const char* type() const;
53 
55  virtual int sensorType() const;
56 
58  virtual void tick();
59 
63  static DtSimComponent * creator(const DtString& name,
64  DtVrfObject* owner,
65  DtSimManager* simManager,
66  DtComponentDescriptor* desc = 0,
67  DtReaderWriterRegistry* parentRegistry = 0);
68 
69 protected:
70 
73  virtual bool detectObject(const DtVrfObject* object, DtRwSensorContactInfo* contactInfo);
74 
78  DtRwSensorContactInfo* contactInfo,
79  bool& contactInfoModified);
80 
82  virtual int detectionLevel(const DtVrfObject* object);
83 
85  virtual void updateSensorContactInfo(const DtVrfObject* object,
86  DtRwSensorContactInfo* contactInfo, int level);
87 
88 protected:
89 
91 
94  boost::optional<double> myFootprintProp;
95 };
DtNbcSensorDescriptor; descriptor for the DtNbcSensor component.
Definition: nbcSensorDescriptor.h:20
Definition: nbcSensor.h:23
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtNbcSensorDescriptor * myDescriptor
Definition: nbcSensor.h:90
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
boost::optional< double > myFootprintProp
This gets cached in the tick function so it doesn&#39;t need to be looked up every time detectionLevel is...
Definition: nbcSensor.h:94
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
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
virtual ContinueDetectingResult continueDetectingObject(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified)
ContinueDetectingResult
Definition: objectSensor.h:66
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
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.
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)