VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radarObjectSensor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
16 
17 class DtVrfEmitterSystem;
20 class DtSimMessage;
21 class DtVrfObjectMessage;
23 class DtReflectedIff;
24 struct DtTrackJamBeamInfo;
25 
42 {
43 private:
46 
49  orig);
50 
52  const DtRadarObjectSensor & operator=(const
53  DtRadarObjectSensor & orig);
54 
55 public:
57 
59  {
60  JammingEffectNone = 0,
61  JammingEffectDisable = 1,
62  JammingEffectHideSource = 2
63  };
64 
67  DtRadarObjectSensor(const DtString& name,
68  DtVrfObject* owner,
69  DtSimManager* simManager,
70  DtComponentDescriptor* desc = 0,
71  DtReaderWriterRegistry* parentRegistry = 0);
72 
74  virtual ~DtRadarObjectSensor();
75 
76  virtual bool init();
77 
80  virtual const char* type() const;
81 
83  virtual int sensorType() const;
84 
87  virtual void preFirstTickInit();
88 
97  virtual void tick();
98 
101  virtual void setSensorEnabled(bool enabled);
102 
106  static DtSimComponent * creator(const DtString& name,
107  DtVrfObject* owner,
108  DtSimManager* simManager,
109  DtComponentDescriptor* desc = 0,
110  DtReaderWriterRegistry* parentRegistry = 0);
111 
112 protected:
113 
123  virtual double EwAttackEffect(const double attack, const double defense) const;
124 
128  virtual double sensitivityModifier()const;
129 
131  virtual const char* defaultPSRType() const;
132 
136  virtual void createAndInitEmitterSystem();
137 
139  virtual void destroyEmitterSystem();
140 
143  static void setEmitterRequestCallback(DtSimMessage *msg, void * usrData);
144 
147  virtual void processSetEmitterRequestMessage(DtSimMessage *msg);
148 
149  static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
150  virtual void processSetRadarModeRequestMessage(DtSimMessage *msg);
151 
152  static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
153  virtual void processRequestRadarModesAdmin(const DtUUID& receiver,
154  const DtUUID& sender,
155  const DtVrfObjectMessage* msg);
156 
159  static void setSectorBlankingCallback(DtSimMessage *msg, void * usrData);
160 
162  virtual void processSetSectorBlankingMessage(DtSimMessage *msg);
163 
166  virtual void setEmitterSystemOn(bool onOff);
167 
168 
170  virtual bool processObjects();
171 
173  virtual bool detectObject(const DtVrfObject* object,
174  DtRwSensorContactInfo* contactInfo);
175 
177  virtual ContinueDetectingResult continueDetectingObject(const DtVrfObject* object,
178  DtRwSensorContactInfo* contactInfo, bool& contactInfoModified);
179 
182  virtual void setTrackTargetsFromContactList();
183 
186  virtual DtJammingEffect jammingEffectFromBeam(const DtTrackJamBeamInfo& beamInfo) const;
187  virtual void calculateJammingEffects();
188 
191  virtual double calculatePowerDensity(const DtTrackJamBeamInfo& beamInfo) const;
192 
194  virtual int determineForceType(const DtVrfObject* object, DtRwSensorContactInfo * contactInfo);
195 
197  virtual bool detectIff(const DtReflectedIff& iff) const;
198 
200  virtual bool isObjectInSectorBlanking(const DtVrfObject* object) const;
201 
202  virtual void updateJamTaskVisualizations(const std::set<const DtVrfObject*>& jammingEntities);
203 
204  virtual bool taskVisualizationsActive() const;
205 
206 protected:
207  virtual void createAndInitEmitterSystemAndTick();
208 
215 
218  std::set<DtUUID> myHiddenTargets;
219 
220  std::map<DtUUID, DtLineTaskVisualizationPtr> myJamTaskVisLines;
221 
222 
223 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
virtual int sensorType() const
Returns the enumerated type of this sensor.
const DtSignatureObjectSensor & operator=(const DtSignatureObjectSensor &orig)
assignment operator; not implemented
#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
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...
virtual int determineForceType(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
Determines the force type for this object based on the sensor contact info for it.
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component.
virtual void preFirstTickInit()
Initializes the component before it is ticked for the first time.
DtJammingEffect
Definition: radarObjectSensor.h:58
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
virtual bool processObjects()
Checks detectability of each of the detectable objects.
Definition: readerWriterRegistry.h:39
virtual const char * type() const
Returns a string identifies the class type of component.
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:67
DtVrfEmitterSystem * myEmitterSystem
Definition: radarObjectSensor.h:210
bool mySystemFullyJammed
Definition: radarObjectSensor.h:216
DtRadarObjectSensorPSR * myRadarSensorPSR
DtObjectSensor&#39;s myProcessState cast to our PSR type.
Definition: radarObjectSensor.h:213
const DtRadarObjectSensorDescriptor * myRadarObjectSensorDescriptor
Definition: radarObjectSensor.h:209
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:37
virtual ContinueDetectingResult continueDetectingObject(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified)
Same as detectObject except it is checking for objects we had previously detected.
DtU8 myEmitterSystemId
Definition: radarObjectSensor.h:214
A sensor component which uses the VR-Forces Sensor Signature model for detecting object.
Definition: signatureObjectSensor.h:41
DtRadarObjectSensor extends the DtSignatureObjectSensor with the capability of publishing an emitter ...
Definition: radarObjectSensor.h:41
File: simMsg.h.
Definition: simMessage.h:35
Process State Repositor for the DtRadarObjectSensor component.
Definition: radarObjectSensorPSR.h:21
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
Definition: reflectedEmitterSystemManager.h:22
virtual void tick()
Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start...
virtual bool detectObject(const DtVrfObject *object, DtRwSensorContactInfo *contactInfo)
Returns true if object is detected.
virtual void setSensorEnabled(bool enabled)
Enables or disables this sensor.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
std::set< DtUUID > myHiddenTargets
Targets hidden by jamming.
Definition: radarObjectSensor.h:218
The central class of a DtVrfObject for all communications to and from the object. ...
Definition: vrfObjectCommunicationInterface.h:45
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
std::map< DtUUID, DtLineTaskVisualizationPtr > myJamTaskVisLines
Definition: radarObjectSensor.h:220
DtRadarObjectSensorDescriptor; descriptor for the DtRadarObjectSensor component.
Definition: radarObjectSensorDescriptor.h:27
virtual double sensitivityModifier() const
The modifier for this sensor&#39;s sensitivity.
virtual const char * defaultPSRType() const

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)