VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEmitterSystem.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vlutil/vlList.h>
15 #include <vlpi/disEnums.h>
16 #include <vl/globalObjectDesignator.h>
17 #include <matrix/vlVector.h>
19 
20 class DtVrfObject;
22 class DtEmitterSystemPublisher;
24 class DtUUID;
25 
26 typedef bool(*DtVerifyTrackJamTargetCallback)(const DtGlobalObjectDesignator& target, const DtEmitterBeamRepository* beam, void * usr);
27 
38 {
39 private:
43  DtVrfEmitterSystem& operator=(const DtVrfEmitterSystem& orig);
46 
47 public:
48  DtVrfEmitterSystem(DtVrfObject* hostEntity);
49  virtual ~DtVrfEmitterSystem();
50 
52  virtual void tick();
53 
55  bool init();
56 
57 
62  virtual void setOn(bool onOff);
63  virtual bool on() const;
64 
67  virtual void setDataFromEmitterSystemEntry(const DtEmitterSystemEntry& entry);
68 
71  virtual void setSystemId(DtU8 id);
72  virtual DtU8 systemId() const;
73 
75  virtual void setSystemName(DtEmitterSysName nameEnum);
76  virtual DtEmitterSysName systemName() const;
77 
78  virtual void setSystemFunction(DtEmissionFunc functionEnum);
79  virtual DtEmissionFunc systemFunction() const;
80 
81  virtual void setMountLocation(const DtVector &location);
82  virtual DtVector mountLocation() const;
83 
85  virtual void setUseHighDensityTracking(bool useHdMode);
86  virtual bool useHighDensityTracking() const;
87 
89  virtual void setUseHighDensityJamming(bool useHdMode);
90  virtual bool useHighDensityJamming() const;
91 
94  virtual void addTrackTarget(const DtGlobalObjectDesignator &globalId);
95 
98  virtual void removeTrackTarget(const DtGlobalObjectDesignator &globalId);
99 
102  virtual void addJamTarget(const DtGlobalObjectDesignator &globalId);
103 
106  virtual void removeJamTarget(const DtGlobalObjectDesignator &globalId);
107 
109  virtual void clearTrackTargets();
110 
112  virtual void clearJamTargets();
113 
115  virtual void clearTrackJamTargets();
116 
119  virtual DtEmitterBeamRepository* addBeam(DtU8 id);
120 
122  virtual void removeBeam(DtU8 id);
123 
125  virtual void removeAllBeams();
126 
129  virtual DtEmitterBeamRepository* beam(DtU8 id = 0);
130 
132  virtual int numBeams() const;
133 
135  virtual DtList* beamList();
136 
137  virtual DtString radarMode() const;
138 
140  virtual void setEmitterName(const DtString&);
141  virtual const DtString& emitterName() const;
142 
145  virtual void setRadarMode(DtString mode, const DtEmitterSystemEntry& entry);
146 
147  virtual const DtList* radarModeList(const DtEmitterSystemEntry& entry);
148 
152  virtual void setVerifyTrackJamTargetCallback(DtVerifyTrackJamTargetCallback cb, void* usr);
153 
154 protected:
156  virtual bool createPublisher();
157 
159  virtual bool initEmitterSystem();
160 
162  virtual void addTrackJamTarget(const DtGlobalObjectDesignator &globalId, const bool& isJamTarget);
163 
165  virtual void removeTrackJamTarget(const DtGlobalObjectDesignator &globalId, const bool& isJamTarget);
166 
168  virtual void clearTrackJamTargets(const bool& clearTracking, const bool& clearJamming);
169 
172  void purgeOffBeamList();
173 
174 protected:
175  DtEmitterSystemPublisher *myEmitterSysPublisher;
177  bool myOn;
181 
186 
189 
191 };
192 
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
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
bool myUseHighDensityTracking
Definition: vrfEmitterSystem.h:178
DtString myEmitterName
Definition: vrfEmitterSystem.h:190
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:37
DtEmitterSystemPublisher * myEmitterSysPublisher
Definition: vrfEmitterSystem.h:175
DtVrfObject * myHostEntity
Definition: vrfEmitterSystem.h:176
bool(* DtVerifyTrackJamTargetCallback)(const DtGlobalObjectDesignator &target, const DtEmitterBeamRepository *beam, void *usr)
Definition: vrfEmitterSystem.h:26
DtVerifyTrackJamTargetCallback myVerifyTrackJamTargetCallback
Definition: vrfEmitterSystem.h:187
DtString myRadarMode
Definition: vrfEmitterSystem.h:180
bool myOn
Definition: vrfEmitterSystem.h:177
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtList myOffBeamList
When the system is off, beamSRs are kept on this list.
Definition: vrfEmitterSystem.h:185
const char int mode
Definition: ioapi.h:38
void * myVerifyTrackJamTargetCallbackUserData
Definition: vrfEmitterSystem.h:188
Instances of DtEmitterSystemEntry are used to specify some of the parameters in a DtEmitterComponentD...
Definition: emitterSystemEntry.h:26
bool myUseHighDensityJamming
Definition: vrfEmitterSystem.h:179

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)