VR-Forces 5.0.2 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 
21 class DtUUID;
22 class DtLocalObject;
23 
24 namespace makVrf
25 {
26  class DtEmitterSystemStateComponent;
27  struct DtEmitterSystemBeamStateData;
28  class DtStateData;
29 }
30 
38 {
39 private:
43  DtVrfEmitterSystem& operator=(const DtVrfEmitterSystem& orig);
46 
47 public:
48  DtVrfEmitterSystem(DtLocalObject* hostEntity);
49  virtual ~DtVrfEmitterSystem();
50 
52  bool init();
53 
58  virtual void setOn(bool onOff);
59  virtual bool on() const;
60 
63  virtual void setDataFromEmitterSystemEntry(const DtEmitterSystemEntry& entry);
64 
66  virtual void setSystemName(DtEmitterSysName nameEnum);
67  virtual DtEmitterSysName systemName() const;
68 
69  virtual void setSystemFunction(DtEmissionFunc functionEnum);
70  virtual DtEmissionFunc systemFunction() const;
71 
72  virtual void setMountLocation(const DtVector &location);
73  virtual DtVector mountLocation() const;
74 
76  virtual void setUseHighDensityTracking(bool useHdMode);
77  virtual bool useHighDensityTracking() const;
78 
80  virtual void setUseHighDensityJamming(bool useHdMode);
81  virtual bool useHighDensityJamming() const;
82 
85  virtual void addTrackTarget(const DtUUID &globalId);
86 
89  virtual void removeTrackTarget(const DtUUID &globalId);
90 
93  virtual void addJamTarget(const DtUUID &globalId);
94 
97  virtual void removeJamTarget(const DtUUID &globalId);
98 
100  virtual void clearTrackTargets();
101 
103  virtual void clearJamTargets();
104 
106  virtual void clearTrackJamTargets();
107 
110  virtual makVrf::DtEmitterSystemBeamStateData* addBeam();
111 
113  virtual void removeBeam(unsigned char);
114 
116  virtual void removeAllBeams();
117 
120  virtual makVrf::DtEmitterSystemBeamStateData* beam(DtU8 id = 0);
121 
123  virtual int numBeams() const;
124 
126  std::vector<makVrf::DtEmitterSystemBeamStateData>& beamList();
127  const std::vector<makVrf::DtEmitterSystemBeamStateData>& beamList() const;
128 
129  virtual DtString radarMode() const;
130 
132  virtual void setEmitterName(const DtString&);
133  virtual const DtString& emitterName() const;
134 
137  virtual void setRadarMode(DtString mode, const DtEmitterSystemEntry& entry);
138 
139  virtual const DtList* radarModeList(const DtEmitterSystemEntry& entry);
140 
144  virtual void setVerifyTrackJamTargetCallback(makVrf::DtVerifyTrackJamTargetCallback cb, void* usr);
145 
146  virtual unsigned char systemId() const;
147  virtual unsigned char emitterSystemID() const;
148 
150  {
151  return myEmitterSystemComponent;
152  }
153 
155  {
156  return myEmitterSystemComponent;
157  }
158 
159 protected:
161  virtual bool initEmitterSystem();
162 
164  virtual void addTrackJamTarget(const DtUUID &globalId, const bool& isJamTarget);
165 
167  virtual void removeTrackJamTarget(const DtUUID &globalId, const bool& isJamTarget);
168 
170  virtual void clearTrackJamTargets(const bool& clearTracking, const bool& clearJamming);
171 
172 protected:
178 
181 
183 };
184 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
bool(* DtVerifyTrackJamTargetCallback)(const DtUUID &target, const DtEmitterSystemBeamStateData &beam, void *usr)
Definition: emitterSystemStateComponent.h:21
bool myUseHighDensityTracking
Definition: vrfEmitterSystem.h:175
makVrf::DtEmitterSystemStateComponent * myEmitterSystemComponent
Definition: vrfEmitterSystem.h:174
makVrf::DtEmitterSystemStateComponent * component()
Definition: vrfEmitterSystem.h:149
DtString myEmitterName
Definition: vrfEmitterSystem.h:182
DtLocalObject * myHostEntity
Definition: vrfEmitterSystem.h:173
DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated wit...
Definition: vrfEmitterSystem.h:37
DtString myRadarMode
Definition: vrfEmitterSystem.h:177
makVrf::DtVerifyTrackJamTargetCallback myVerifyTrackJamTargetCallback
Definition: vrfEmitterSystem.h:179
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:446
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:154
void * myVerifyTrackJamTargetCallbackUserData
Definition: vrfEmitterSystem.h:180
The DtEmitterSystemStateComponentList is a collection of emitter systems and the beams they represent...
Definition: emitterSystemStateComponent.h:24
Instances of DtEmitterSystemEntry are used to specify some of the parameters in a DtEmitterComponentD...
Definition: emitterSystemEntry.h:26
bool myUseHighDensityJamming
Definition: vrfEmitterSystem.h:176
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)