VR-Forces 4.6 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 struct DtTrackJamBeamInfo;
24 
41 {
42 private:
45 
48  orig);
49 
51  const DtRadarObjectSensor & operator=(const
52  DtRadarObjectSensor & orig);
53 
54 public:
56 
58  {
59  JammingEffectNone = 0,
60  JammingEffectDisable = 1,
61  JammingEffectHideSource = 2
62  };
63 
66  DtRadarObjectSensor(const DtString& name,
67  DtVrfObject* owner,
68  DtSimManager* simManager,
69  DtComponentDescriptor* desc = 0,
70  DtReaderWriterRegistry* parentRegistry = 0);
71 
73  virtual ~DtRadarObjectSensor();
74 
75  virtual bool init();
76 
79  virtual const char* type() const;
80 
82  virtual int sensorType() const;
83 
86  virtual void preFirstTickInit();
87 
96  virtual void tick();
97 
100  virtual void setSensorEnabled(bool enabled);
101 
105  static DtSimComponent * creator(const DtString& name,
106  DtVrfObject* owner,
107  DtSimManager* simManager,
108  DtComponentDescriptor* desc = 0,
109  DtReaderWriterRegistry* parentRegistry = 0);
110 
111 protected:
112 
122  virtual double EwAttackEffect(const double attack, const double defense) const;
123 
127  virtual double sensitivityModifier()const;
128 
130  virtual const char* defaultPSRType() const;
131 
135  virtual void createAndInitEmitterSystem();
136 
138  virtual void destroyEmitterSystem();
139 
142  static void setEmitterRequestCallback(DtSimMessage *msg, void * usrData);
143 
146  virtual void processSetEmitterRequestMessage(DtSimMessage *msg);
147 
148  static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
149  virtual void processSetRadarModeRequestMessage(DtSimMessage *msg);
150 
151  static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
152  virtual void processRequestRadarModesAdmin(const DtUUID& receiver,
153  const DtUUID& sender,
154  const DtVrfObjectMessage* msg);
155 
158  virtual void setEmitterSystemOn(bool onOff);
159 
160 
162  virtual bool processObjects();
163 
165  virtual bool detectObject(DtVrfObject* object,
166  DtRwSensorContactInfo* contactInfo);
167 
169  virtual bool continueDetectingObject(DtVrfObject* object,
170  DtRwSensorContactInfo* contactInfo, bool& contactInfoModified);
171 
174  virtual void setTrackTargetsFromContactList();
175 
178  virtual DtJammingEffect jammingEffectFromBeam(const DtTrackJamBeamInfo& beamInfo) const;
179  virtual void calculateJammingEffects();
180 
183  virtual double calculatePowerDensity(const DtTrackJamBeamInfo& beamInfo) const;
184 
185  virtual void updateJamTaskVisualizations(const std::set<DtVrfObject*>& jammingEntities);
186 
187  virtual bool taskVisualizationsActive() const;
188 
189 protected:
196 
199  std::set<DtUUID> myHiddenTargets;
200 
201  std::map<DtUUID, DtLineTaskVisualizationPtr> myJamTaskVisLines;
202 
203 
204 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)