VR-Forces 4.10 Class Documentation
 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 
19 {
20 public:
21 
24  DtRadarJammer(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
25  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
26 
28  virtual ~DtRadarJammer();
29 
31  virtual void tick();
32 
35  bool init();
36 
38  virtual void preFirstTickInit();
39 
42  virtual const char* type() const;
43 
47  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
48  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual void registerSetRequestMsgCallbacks();
52 
53 protected:
54  static void requestJammingModesAdminCallback(const DtVrfObjectMessage* msg, void* usr);
55  virtual void processJammingRadarModesAdmin(
56  const DtUUID& receiver, const DtUUID& sender,const DtVrfObjectMessage* msg);
57 
64  static void setJammingModeRequestCallback(DtSimMessage* msg, void* usrData);
65  virtual void processSetJammingModeRequest(DtSimMessage* msg);
66 
72  virtual bool createPSR();
73 
75  virtual bool createAndInitEmitterSystem();
76 
77  virtual void updateJamTargets();
78  virtual void setWorldToBodyTransform();
79 
80  static bool checkJamTargetCallback(const DtGlobalObjectDesignator& target, const DtEmitterBeamRepository* beam, void * usr);
81  virtual bool checkJamTargetWithinBeam(const DtGlobalObjectDesignator& target, const DtEmitterBeamRepository* beam);
82 
83  virtual void updateJamTaskVisualizations();
84 
85  virtual bool taskVisualizationsActive() const;
86 
88  virtual DtVector localJammerLocation() const;
89 
90  static void jammerEnabledCallback(DtSimMessage* msg, void* usr);
91  virtual void processJammerEnabled(DtSimMessage* msg);
92 
93  static void addRemoveTargetCallback(DtSimMessage* msg, void* usr);
94  virtual void processAddRemoveTarget(DtSimMessage* msg);
95 
96 private:
98  DtRadarJammer();
99 
101  DtRadarJammer(const DtRadarJammer& orig);
102 
104  const DtRadarJammer & operator=(const DtRadarJammer & orig);
105 
106 
107 protected:
108  DtCoordTransform myWorldToBodyTransform;
110 
111  std::map<DtGlobalObjectDesignator, DtLineTaskVisualizationPtr> myJamTaskVisLines;
112 
115 };
116 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtCoordTransform myWorldToBodyTransform
Definition: radarJammer.h:108
#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.
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component.
virtual const char * type() const
Returns a string identifies the class type of component.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
virtual bool createPSR()
Creates myProcessState data member, and adds it to our process state repository manager.
Definition: radarJammer.h:18
Definition: radarJammerDescriptor.h:17
File: simMsg.h.
Definition: simMessage.h:35
bool myWorldToBodyTransformSetThisTick
Definition: radarJammer.h:109
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
const DtEmitterComponent & operator=(const DtEmitterComponent &orig)
assignment operator; not implemented.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual void preFirstTickInit()
Calls updateEmitterFromPsr and registers #nameChangedCallback.
virtual void registerSetRequestMsgCallbacks()
Registers its interest in setEmitter and setTarget messages.
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
virtual bool createAndInitEmitterSystem()
Creates a new DtVrfEmitterSystem and assigns it to myEmitterSystem.
std::map< DtGlobalObjectDesignator, DtLineTaskVisualizationPtr > myJamTaskVisLines
Definition: radarJammer.h:111
double myNextJamEvalTime
Definition: radarJammer.h:114
bool init()
Calls createAndInitEmitterSystem, #updateEmitterFromDescriptoe, determineTrackJamAbility, etc.
const DtRadarJammerDescriptor * myRadarJammerDescriptor
Definition: radarJammer.h:113

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)