VR-Forces Developer's Guide
 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 
15 #include <vlutil/vlList.h>
16 #include <vlpi/disEnums.h>
17 #include <matrix/vlVector.h>
19 #include <boost/signals2.hpp>
20 
22 class DtUUID;
23 class DtLocalObject;
24 
25 namespace makVrf
26 {
27  class DtEmitterSystemStateComponent;
28  struct DtEmitterSystemBeamStateData;
29  class DtStateData;
30 }
31 
32 class DtSimObject;
33 
41 {
42 private:
46  DtVrfEmitterSystem& operator=(const DtVrfEmitterSystem& orig);
49 
50 public:
51  DtVrfEmitterSystem(DtLocalObject* hostEntity);
52  virtual ~DtVrfEmitterSystem();
53 
55  bool init();
56 
61  virtual void setOn(bool onOff);
62  virtual bool on() const;
63 
66  virtual void setDataFromEmitterSystemEntry(const DtEmitterSystemEntry& entry);
67 
69  virtual void setSystemName(DtEmitterSysName nameEnum);
70  virtual DtEmitterSysName systemName() const;
71 
72  virtual void setSystemFunction(DtEmissionFunc functionEnum);
73  virtual DtEmissionFunc systemFunction() const;
74 
75  virtual void setSystemNumber(unsigned int number);
76  virtual unsigned int systemNumber() const;
77 
78  virtual void setMountLocation(const DtVector &location);
79  virtual DtVector mountLocation() const;
80 
82  virtual void setUseHighDensityTracking(bool useHdMode);
83  virtual bool useHighDensityTracking() const;
84 
86  virtual void setUseHighDensityJamming(bool useHdMode);
87  virtual bool useHighDensityJamming() const;
88 
91  virtual void addTrackTarget(const DtUUID &globalId);
92 
95  virtual void removeTrackTarget(const DtUUID &globalId);
96 
99  virtual void addJamTarget(const DtUUID &globalId);
100 
103  virtual void removeJamTarget(const DtUUID &globalId);
104 
106  virtual void clearTrackTargets();
107 
109  virtual void clearJamTargets();
110 
112  virtual void clearTrackJamTargets();
113 
116  virtual makVrf::DtEmitterSystemBeamStateData* addBeam();
117 
119  virtual void removeBeam(unsigned char);
120 
122  virtual void removeAllBeams();
123 
126  virtual makVrf::DtEmitterSystemBeamStateData* beam(DtU8 id = 0);
127 
129  virtual int numBeams() const;
130 
132  std::vector<makVrf::DtEmitterSystemBeamStateData>& beamList();
133  const std::vector<makVrf::DtEmitterSystemBeamStateData>& beamList() const;
134 
135  virtual DtString radarMode() const;
136 
138  virtual void setEmitterName(const DtString&);
139  virtual const DtString& emitterName() const;
140 
143  virtual void setRadarMode(DtString mode, const DtEmitterSystemEntry& entry);
144 
145  virtual const DtList* radarModeList(const DtEmitterSystemEntry& entry);
146 
150  virtual void setVerifyTrackJamTargetCallback(makVrf::DtVerifyTrackJamTargetCallback cb, void* usr);
151 
152  virtual unsigned char systemId() const;
153  virtual unsigned char emitterSystemID() const;
154 
156  {
157  return myEmitterSystemComponent;
158  }
159 
161  {
162  return myEmitterSystemComponent;
163  }
164 
165 protected:
167  virtual bool initEmitterSystem();
168 
170  virtual void addTrackJamTarget(const DtUUID &globalId, const bool& isJamTarget);
171 
173  virtual void removeTrackJamTarget(const DtUUID &globalId, const bool& isJamTarget);
174 
176  virtual void clearTrackJamTargets(const bool& clearTracking, const bool& clearJamming);
177 
178  virtual void slot_simObjectRemoved(const DtSimObject*);
179 
181  virtual int nextSystemNumber() const;
182 
183 protected:
189 
192 
194 
195  typedef std::map<DtUUID, boost::signals2::connection> ObjectRemovedConnections;
197 };
198 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
bool myUseHighDensityTracking
Definition: vrfEmitterSystem.h:186
makVrf::DtEmitterSystemStateComponent * myEmitterSystemComponent
Definition: vrfEmitterSystem.h:185
makVrf::DtEmitterSystemStateComponent * component()
Definition: vrfEmitterSystem.h:155
DtString myEmitterName
Definition: vrfEmitterSystem.h:193
DtLocalObject * myHostEntity
Definition: vrfEmitterSystem.h:184
std::map< DtUUID, boost::signals2::connection > ObjectRemovedConnections
Definition: vrfEmitterSystem.h:195
bool(*)(const DtUUID &target, const DtEmitterSystemBeamStateData &beam, void *usr) DtVerifyTrackJamTargetCallback
Definition: emitterSystemStateComponent.h:22
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:40
ObjectRemovedConnections myObjectRemovedConnections
Definition: vrfEmitterSystem.h:196
DtString myRadarMode
Definition: vrfEmitterSystem.h:188
makVrf::DtVerifyTrackJamTargetCallback myVerifyTrackJamTargetCallback
Definition: vrfEmitterSystem.h:190
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: emitterSystemStateComponent.h:466
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
const makVrf::DtEmitterSystemStateComponent * component() const
Definition: vrfEmitterSystem.h:160
void * myVerifyTrackJamTargetCallbackUserData
Definition: vrfEmitterSystem.h:191
The DtEmitterSystemStateComponentList is a collection of emitter systems and the beams they represent...
Definition: emitterSystemStateComponent.h:25
Instances of DtEmitterSystemEntry are used to specify some of the parameters in a DtEmitterComponentD...
Definition: emitterSystemEntry.h:26
bool myUseHighDensityJamming
Definition: vrfEmitterSystem.h:187
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)