VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
17 
18 
19 
20 class DtString;
21 class DtSimManager;
22 class DtSimMessage;
23 class DtSimRadio;
25 class DtEmitterPSR;
26 class DtVrfEmitterSystem;
27 class DtVrfObjectMessage;
29 
31 
52 {
53 public:
54 
57  DtEmitterComponent(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
58  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
59 
61  virtual ~DtEmitterComponent();
62 
64  virtual void tick();
65 
69  virtual bool tickWhileDestroyed() const;
70 
73  bool init();
74 
76  virtual void preFirstTickInit();
77 
80  virtual const char* type() const;
81 
85  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner,DtSimManager* simManager,
86  DtComponentDescriptor* desc = 0,DtReaderWriterRegistry* parentRegistry = 0);
87 
89  virtual void registerSetRequestMsgCallbacks();
90 
91  static void setEmitterRequestCallback(DtSimMessage* msg, void* usrData);
92  virtual void processSetEmitterRequestMessage(DtSimMessage* msg);
93 
94  static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData);
95  virtual void processSetRadarModeRequestMessage(DtSimMessage* msg);
96 
97  static void setEmitterTrackJamTargetsCallback(DtSimMessage* msg, void* usrData);
98  virtual void procesSetEmitterTrackJamTargetsRequestMessage(DtSimMessage* msg);
99 
100  static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
101  virtual void processRequestRadarModesAdmin(
102  const DtUUID& receiver, const DtUUID& sender,const DtVrfObjectMessage* msg);
103 
106  virtual void setSystemName(DtEmitterSysName nameEnum);
107  virtual DtEmitterSysName systemName() const;
108 
109  virtual void setSystemFunction(DtEmissionFunc functionEnum);
110  virtual DtEmissionFunc systemFunction() const;
111 
112  virtual void setMountLocation(const DtVector &location);
113  virtual DtVector mountLocation() const;
114 
117  virtual void setOn(bool onOff);
118  virtual bool on() const;
119 
124  virtual void setUseHighDensityTracking(bool useHdMode);
125  virtual bool useHighDensityTracking() const;
126  virtual void setUseHighDensityJamming(bool useHdMode);
127  virtual bool useHighDensityJamming() const;
129 
131  virtual void setRadarMode(const DtString& mode);
133  virtual DtString radarMode() const;
135 
137  virtual void setTrackTargetList(const std::vector<DtUUID>& strings);
138 
140  virtual void setJamTargetList(const std::vector<DtUUID>& strings);
141 
144  virtual void addTrackTarget(const DtUUID& target);
145 
148  virtual void removeTrackTarget(const DtUUID& target);
149 
152  virtual void addJamTarget(const DtUUID& target);
153 
156  virtual void removeJamTarget(const DtUUID& target);
157 
159  virtual void clearTrackTargets();
160 
162  virtual void clearJamTargets();
163 
166  virtual DtEmitterBeamRepository* addBeam(DtU8 id);
167 
169  virtual void removeBeam(DtU8 id);
170 
173  virtual DtEmitterBeamRepository* beam(DtU8 id = 0);
174 
176  virtual int numBeams() const;
177 
179  virtual DtList* beamList();
180 
186  virtual DtVrfEmitterSystem* emitterSystem();
187 
188 protected:
189  virtual void setRadio(DtSimRadio * radio);
191  virtual DtSimRadio * radio();
192 
194  virtual bool createAndInitEmitterSystem();
195 
197  virtual void updateEmitterFromDescriptor();
198 
200  virtual void updateEmitterFromPsr();
201 
203  virtual void determineTrackJamAbility();
204 
210  virtual bool createPSR();
211 
212 private:
215 
218 
220  const DtEmitterComponent & operator=(const DtEmitterComponent & orig);
221 
222 
223 protected:
226 
228 
232 
236 };
237 

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)