VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
emitterComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
14 
16 
17 class DtString;
18 class DtSimManager;
19 class DtSimMessage;
20 class DtSimRadio;
22 class DtEmitterPSR;
23 class DtVrfEmitterSystem;
24 class DtVrfObjectMessage;
26 
28 
50 {
51 public:
52 
55  DtEmitterComponent(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
56  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
57 
59  virtual ~DtEmitterComponent();
60 
62  virtual void tick();
63 
67  virtual bool tickWhileDestroyed() const;
68 
71  bool init();
72 
74  virtual void preFirstTickInit();
75 
78  virtual const char* type() const;
79 
83  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner,DtSimManager* simManager,
84  DtComponentDescriptor* desc = 0,DtReaderWriterRegistry* parentRegistry = 0);
85 
87  virtual void registerSetRequestMsgCallbacks();
88 
89  static void setEmitterRequestCallback(DtSimMessage* msg, void* usrData);
90  virtual void processSetEmitterRequestMessage(DtSimMessage* msg);
91 
92  static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
93  virtual void processSetRadarModeRequestMessage(DtSimMessage* msg);
94 
95  static void setEmitterTrackJamTargetsCallback(DtSimMessage* msg, void* usrData);
96  virtual void procesSetEmitterTrackJamTargetsRequestMessage(DtSimMessage* msg);
97 
98  static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
99  virtual void processRequestRadarModesAdmin(
100  const DtUUID& receiver, const DtUUID& sender,const DtVrfObjectMessage* msg);
101 
104  virtual void setSystemName(DtEmitterSysName nameEnum);
105  virtual DtEmitterSysName systemName() const;
106 
107  virtual void setSystemFunction(DtEmissionFunc functionEnum);
108  virtual DtEmissionFunc systemFunction() const;
109 
110  virtual void setMountLocation(const DtVector &location);
111  virtual DtVector mountLocation() const;
112 
115  virtual void setOn(bool onOff);
116  virtual bool on() const;
117 
122  virtual void setUseHighDensityTracking(bool useHdMode);
123  virtual bool useHighDensityTracking() const;
124  virtual void setUseHighDensityJamming(bool useHdMode);
125  virtual bool useHighDensityJamming() const;
127 
129  virtual void setRadarMode(const DtString& mode);
131  virtual DtString radarMode() const;
133 
135  virtual void setTrackTargetList(const std::vector<DtUUID>& strings);
136 
138  virtual void setJamTargetList(const std::vector<DtUUID>& strings);
139 
142  virtual void addTrackTarget(const DtUUID& target);
143 
146  virtual void removeTrackTarget(const DtUUID& target);
147 
150  virtual void addJamTarget(const DtUUID& target);
151 
154  virtual void removeJamTarget(const DtUUID& target);
155 
157  virtual void clearTrackTargets();
158 
160  virtual void clearJamTargets();
161 
164  virtual DtEmitterBeamRepository* addBeam(DtU8 id);
165 
167  virtual void removeBeam(DtU8 id);
168 
171  virtual DtEmitterBeamRepository* beam(DtU8 id = 0);
172 
174  virtual int numBeams() const;
175 
177  virtual DtList* beamList();
178 
184  virtual DtVrfEmitterSystem* emitterSystem();
185 
186 protected:
187  virtual void setRadio(DtSimRadio * radio);
189  virtual DtSimRadio * radio();
190 
192  virtual bool createAndInitEmitterSystem();
193 
195  virtual void updateEmitterFromDescriptor();
196 
198  virtual void updateEmitterFromPsr();
199 
201  virtual void determineTrackJamAbility();
202 
208  virtual bool createPSR();
209 
210 private:
213 
216 
218  const DtEmitterComponent & operator=(const DtEmitterComponent & orig);
219 
220 
221 protected:
224 
226 
230 
234 };
235 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)