VR-Forces 5.0.2 Developer's Guide
 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 
24 namespace makVrf
25 {
26  struct DtTrackJamBeamInfo;
27  class DtIffStateComponent;
28 }
29 
46 {
47 private:
50 
53  orig);
54 
56  const DtRadarObjectSensor & operator=(const
57  DtRadarObjectSensor & orig);
58 
59 public:
61 
63  {
64  JammingEffectNone = 0,
65  JammingEffectDisable = 1,
66  JammingEffectHideSource = 2
67  };
68 
71  DtRadarObjectSensor(const DtString& name,
72  DtLocalObject* owner,
73  DtSimulationServices* simManager,
74  DtComponentDescriptor* desc = 0,
75  DtReaderWriterRegistry* parentRegistry = 0);
76 
78  virtual ~DtRadarObjectSensor();
79 
80  virtual bool init();
81 
84  virtual const char* type() const;
85 
87  virtual int sensorType() const;
88 
91  virtual void preFirstTickInit();
92 
101  virtual void tick();
102 
105  virtual void setSensorEnabled(bool enabled);
106 
110  static DtSimComponent * creator(const DtString& name,
111  DtLocalObject* owner,
112  DtSimulationServices* simManager,
113  DtComponentDescriptor* desc = 0,
114  DtReaderWriterRegistry* parentRegistry = 0);
115 
116 protected:
117 
127  virtual double EwAttackEffect(const double attack, const double defense) const;
128 
132  virtual double sensitivityModifier()const;
133 
135  virtual const char* defaultPSRType() const;
136 
140  virtual void createAndInitEmitterSystem();
141 
143  virtual void destroyEmitterSystem();
144 
147  static void setEmitterRequestCallback(DtSimMessage *msg, void * usrData);
148 
151  virtual void processSetEmitterRequestMessage(DtSimMessage *msg);
152 
153  static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
154  virtual void processSetRadarModeRequestMessage(DtSimMessage *msg);
155 
156  static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
157  virtual void processRequestRadarModesAdmin(const DtUUID& receiver,
158  const DtUUID& sender,
159  const DtVrfObjectMessage* msg);
160 
163  static void setSectorBlankingCallback(DtSimMessage *msg, void * usrData);
164 
166  virtual void processSetSectorBlankingMessage(DtSimMessage *msg);
167 
170  virtual void setEmitterSystemOn(bool onOff);
171 
172 
174  virtual void processObjects() override;
175 
177  virtual bool detectObject(DtSimObjectReference object,
178  DtRwSensorContactInfo* contactInfo) override;
179 
181  virtual ContinueDetectingResult continueDetectingObject(DtSimObjectReference object,
182  DtRwSensorContactInfo* contactInfo, bool& contactInfoModified) override;
183 
186  virtual void setTrackTargetsFromContactList();
187 
190  virtual DtJammingEffect jammingEffectFromBeam(const makVrf::DtTrackJamBeamInfo& beamInfo) const;
191  virtual void calculateJammingEffects();
192 
195  virtual double calculatePowerDensity(const makVrf::DtTrackJamBeamInfo& beamInfo) const;
196 
198  virtual int determineForceType(const DtSimObject* object, DtRwSensorContactInfo * contactInfo);
199 
201  virtual bool detectIff(const makVrf::DtIffStateComponent& iff) const;
202 
204  virtual bool isObjectInSectorBlanking(const DtSimObject* object) const;
205 
206  virtual void updateJamTaskVisualizations(const std::set<DtSimObjectReference>& jammingEntities);
207 
208  virtual bool taskVisualizationsActive() const;
209 
210 protected:
211 
214 
216 
219  std::set<DtUUID> myHiddenTargets;
220 
221  std::map<DtUUID, makVrf::DtLineTaskVisualizationPtr> myJamTaskVisLines;
222 
223 
224 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
virtual int sensorType() const
Returns the enumerated type of this sensor. It is based on the sensor domain string. &quot;radar&quot; maps to DtSenorTypeRadar. &quot;visual&quot; maps to DtSensorTypeVisual. &quot;sonar&quot; maps to DtSensorTypeSonar. &quot;infrared&quot; maps to DtSensorTypeInfrared. Anything else maps to DtSensorTypeUnknown.
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
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component. Default behavior is to r...
DtJammingEffect
Definition: radarObjectSensor.h:62
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
virtual int determineForceType(const DtSimObject *object, DtRwSensorContactInfo *contactInfo)
Determines the force type for this object based on the sensor contact info for it. Currently just uses the detection-level-to-set-force-type parameter from the sensor descriptor to determine at which identification level we would be able to know the force type of the object.
Definition: readerWriterRegistry.h:39
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
DtVrfEmitterSystem * myEmitterSystem
Definition: radarObjectSensor.h:213
bool mySystemFullyJammed
Definition: radarObjectSensor.h:217
DtRadarObjectSensorPSR * myRadarSensorPSR
Definition: radarObjectSensor.h:215
const DtRadarObjectSensorDescriptor * myRadarObjectSensorDescriptor
Definition: radarObjectSensor.h:212
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:37
std::map< DtUUID, makVrf::DtLineTaskVisualizationPtr > myJamTaskVisLines
Definition: radarObjectSensor.h:221
A sensor component which uses the VR-Forces Sensor Signature model for detecting object.
Definition: signatureObjectSensor.h:41
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
DtRadarObjectSensor extends the DtSignatureObjectSensor with the capability of publishing an emitter ...
Definition: radarObjectSensor.h:45
File: simMsg.h.
Definition: simMessage.h:35
Definition: stateDataManager.h:53
Process State Repositor for the DtRadarObjectSensor component.
Definition: radarObjectSensorPSR.h:21
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
virtual void tick()
Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start...
virtual void setSensorEnabled(bool enabled)
Enables or disables this sensor.
virtual void processObjects()
Checks detectability of each of the detectable objects. This is done by calling continueDetectingObje...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
std::set< DtUUID > myHiddenTargets
Targets hidden by jamming.
Definition: radarObjectSensor.h:219
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
The central class of a DtLocalObject for all communications to and from the object. This class manages all communications on a specific DtLocalObject, though both simulation internal communication, and communication though the simulated radios of the object. All communication is done though the use of the DtVrfObjectMessage class and its subclasses. Callbacks can be registered on this interface which will be called on receipt of a message by this entity. Messages can be sent from this entity by using the message sending functions. These messages may be sent though the SimInternal message mechanism, or the radio message system. Radios will not exist until createRadiosFromDescriptorList() or createRadiosFromDescriptorList(const DtRadioDescriptorList&amp; descList) is called.
Definition: vrfObjectCommunicationInterface.h:40
virtual bool detectObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo) override
Returns true if object is detected. Calls apparentSignature to determine what the object&#39;s signature ...
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: iffStateComponent.h:428
DtRadarObjectSensorDescriptor; descriptor for the DtRadarObjectSensor component.
Definition: radarObjectSensorDescriptor.h:27
virtual void preFirstTickInit()
Initializes the component before it is ticked for the first time. It is called by timedTick if myFirs...
virtual ContinueDetectingResult continueDetectingObject(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo, bool &contactInfoModified) override
Same as detectObject except it is checking for objects we had previously detected. In this case the amount of time that this object has been detected by the sensor will be factored in when determining the identification level. Again returns true if the object is still detected and the contact info is updated. If there were changes in the contact info, contactInfoModified will be true.
virtual double sensitivityModifier() const
The modifier for this sensor&#39;s sensitivity. A function of internal and external state. Includes modifiers for [aggregate] state properties for Posture and MOPP. Override this for sensor-specific modifiers.
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
virtual const char * defaultPSRType() const

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)