VR-Forces 4.10 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 
DtSimRadio * myRadio
Definition: emitterComponent.h:224
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
bool myRegisterForTrackMessages
Set up in init by determineTrackJamAbility.
Definition: emitterComponent.h:230
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
class DtSimRadio:
Definition: simRadio.h:25
DtEmitterPSR * myProcessState
Container for state data associated with this component.
Definition: emitterComponent.h:235
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
class DtEmitterPSR:
Definition: emitterPSR.h:23
Definition: readerWriterRegistry.h:39
virtual bool init()
Calls createPorts and createPortGroups Initializes myLastTickSimTime.
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:37
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
virtual bool tickWhileDestroyed() const
If the component returns true here, it will be ticked regardless of the destroyed state of the host e...
DtSimComponent & operator=(const DtSimComponent &orig)
assignment operator, not implemented
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
The central class of a DtVrfObject for all communications to and from the object. ...
Definition: vrfObjectCommunicationInterface.h:45
const char int mode
Definition: ioapi.h:38
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtEmitterComponent maintains an electromagnetic emissions publisher for a single system with one or m...
Definition: emitterComponent.h:51
DtU8 myEmitterSystemId
Definition: emitterComponent.h:227
Arguments passed by the DtVrfObjectManager::addNameChangedCallback callbacks.
Definition: vrfObjectManager.h:152
DtVrfEmitterSystem * myEmitterSystem
Definition: emitterComponent.h:225
virtual const char * type() const =0
Returns a string identifies the class type of component.
bool myRegisterForJamMessages
Definition: emitterComponent.h:231

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)