VR-Forces 4.7 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(DtVrfObject* object,
174  DtRwSensorContactInfo* contactInfo);
175 
177  virtual ContinueDetectingResult continueDetectingObject(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(DtVrfObject * object, DtRwSensorContactInfo * contactInfo);
195 
197  virtual bool detectIff(const DtReflectedIff& iff) const;
198 
200  virtual bool isObjectInSectorBlanking(DtVrfObject* object) const;
201 
202  virtual void updateJamTaskVisualizations(const std::set<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 };

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)