VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radarJammer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
14 #include <matrix/coordTransform.h>
15 
17 
18 namespace makVrf
19 {
20  struct DtEmitterSystemBeamStateData;
21 }
22 
24 {
25 public:
26 
29  DtRadarJammer(const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
30  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
31 
33  virtual ~DtRadarJammer();
34 
36  virtual void tick();
37 
40  bool init();
41 
43  virtual void preFirstTickInit();
44 
47  virtual const char* type() const;
48 
52  static DtSimComponent* creator(const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
53  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
54 
56  virtual void registerSetRequestMsgCallbacks();
57 
58 protected:
59  static void requestJammingModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
60  virtual void processJammingRadarModesAdmin(
61  const DtUUID& receiver, const DtUUID& sender,const DtVrfObjectMessage* msg);
62 
69  static void setJammingModeRequestCallback(DtSimMessage* msg, void* usrData);
70  virtual void processSetJammingModeRequest(DtSimMessage* msg);
71 
77  virtual bool createPSR();
78 
80  virtual bool createAndInitEmitterSystem();
81 
82  virtual void updateJamTargets();
83  virtual void setWorldToBodyTransform();
84 
85  static bool checkJamTargetCallback(const DtUUID& target, const makVrf::DtEmitterSystemBeamStateData& beam, void * usr);
86  virtual bool checkJamTargetWithinBeam(const DtUUID& target, const makVrf::DtEmitterSystemBeamStateData& beam);
87 
88  virtual void updateJamTaskVisualizations();
89 
90  virtual bool taskVisualizationsActive() const;
91 
93  virtual DtVector localJammerLocation() const;
94 
95  static void jammerEnabledCallback(DtSimMessage* msg, void* usr);
96  virtual void processJammerEnabled(DtSimMessage* msg);
97 
98  static void addRemoveTargetCallback(DtSimMessage* msg, void* usr);
99  virtual void processAddRemoveTarget(DtSimMessage* msg);
100 
101 private:
103  DtRadarJammer();
104 
106  DtRadarJammer(const DtRadarJammer& orig);
107 
109  const DtRadarJammer & operator=(const DtRadarJammer & orig);
110 
111 
112 protected:
113  DtCoordTransform myWorldToBodyTransform;
115 
116  std::map<DtUUID, makVrf::DtLineTaskVisualizationPtr> myJamTaskVisLines;
117 
120 };
121 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtCoordTransform myWorldToBodyTransform
Definition: radarJammer.h:113
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual void tick()
Tick the publisher if the component is on.
std::map< DtUUID, makVrf::DtLineTaskVisualizationPtr > myJamTaskVisLines
Definition: radarJammer.h:116
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component. Default behavior is to r...
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
virtual bool createPSR()
Creates myProcessState data member, and adds it to our process state repository manager. Passes in the name and type specified in the component descriptor (if they exist) to the DtVrfProcessStateRepository::createRepository factory method. If name and/or type is not specified, uses the appropriate default strings defined in procSRTypes.h.
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition: radarJammer.h:23
Definition: radarJammerDescriptor.h:17
File: simMsg.h.
Definition: simMessage.h:35
bool myWorldToBodyTransformSetThisTick
Definition: radarJammer.h:114
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
const DtEmitterComponent & operator=(const DtEmitterComponent &orig)
assignment operator; not implemented.
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
virtual void preFirstTickInit()
Calls updateEmitterFromPsr and registers #nameChangedCallback.
virtual void registerSetRequestMsgCallbacks()
Registers its interest in setEmitter and setTarget messages.
DtEmitterComponent maintains an electromagnetic emissions publisher for a single system with one or m...
Definition: emitterComponent.h:54
virtual bool createAndInitEmitterSystem()
Creates a new DtVrfEmitterSystem and assigns it to myEmitterSystem.
double myNextJamEvalTime
Definition: radarJammer.h:119
bool init()
Calls createAndInitEmitterSystem, #updateEmitterFromDescriptoe, determineTrackJamAbility, etc..
The DtEmitterSystemStateComponentList is a collection of emitter systems and the beams they represent...
Definition: emitterSystemStateComponent.h:25
const DtRadarJammerDescriptor * myRadarJammerDescriptor
Definition: radarJammer.h:118
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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)