VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
stealthCommandsManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfutil/stealthCommand.h"
13 #include "vrfutil/rwUUID.h"
14 #include "vl/globalObjectDesignator.h"
15 
16 #include <boost/function.hpp>
17 
18 class DtSimManager;
19 class DtSimMessage;
21 class DtVrfObject;
22 class DtSimulationAddress;
23 class DtSimCondExpr;
26 
38 
39 typedef boost::function<void (DtSimManager*, const DtString& simCommand, const DtRwVariableBindings& variables)> DtStealthCommandExecutorFcn;
40 
42 {
43 public:
46 
48  virtual ~DtStealthCommandsManager();
49 
51  virtual bool init();
52 
55  virtual void addStealthCommand(const DtString& command, const DtString& displayName, DtStealthCommandExecutorFcn);
56 
58  virtual void removeStealthCommand(const DtString& command);
59 
62  virtual void addStealthSelectorToCommand(const DtString& command);
63 
65  virtual void addObserverModeSelectorToCommand(const DtString& command);
66 
68  virtual void addAttachSelectorToCommand(const DtString& command);
69 
71  virtual void addTrackedEntitySelectorToCommand(const DtString& command);
72 
74  virtual void addBodyPositionSelectorToCommand(const DtString& command);
75 
77  virtual void addLocationSelectorToCommand(const DtString& command);
78 
80  virtual void addOffsetOrientationSelectorToCommand(const DtString& command);
81 
83  virtual void addObserverViewSelectorToCommand(const DtString& command);
84 
87  virtual void addObserverTransitionTimeToCommand(const DtString& command);
88 
90  typedef std::pair<DtSimulationAddress, DtString> StealthObserver;
91  typedef std::vector<StealthObserver> StealthObservers;
92  StealthObservers getStealthObservers(const DtRwVariableBindings&) const;
93 
95  virtual void executeCommand(const DtString&, const DtRwVariableBindings&);
96 
98  virtual void setObserverMode(const DtRwVariableBindings&);
99 
101  virtual DtGlobalObjectDesignator attachToGlobalId(const DtRwVariableBindings& vars,
102  const std::string& varname = "attachto") const;
103 
105  {
106  return mySimManager;
107  }
108 
112  virtual void resetStealth(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
113 
116  virtual void detachStealth(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
117 
123  virtual void attachMimic(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
124 
132  virtual void attachTether(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
133 
142  virtual void attachTetherLocationTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
143 
152  virtual void attachMimicLocationTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
153 
161  virtual void attachFollow(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
162 
170  virtual void attachTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
171 
179  virtual void attachTetherTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
180 
188  virtual void setLocation(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
189 
195  virtual void setObserverView(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
196 
199  virtual void createSensorFieldOfView(const DtUUID&, const DtString& frontEnd, bool create, bool createControls, const DtString& sensorGimbal);
200 
201 protected:
203  virtual void initializeResetCommand();
204 
206  virtual void initializeDetachCommand();
207 
209  virtual void initializeMimicCommand();
210 
211 
213  virtual void initializeTetherCommand();
214 
216  virtual void initializeFollowCommand();
217 
219  virtual void initializeTrackCommand();
220 
222  virtual void initializeTetherTrackCommand();
223 
225  virtual void initializeTetherLocationTrackCommand();
226 
228  virtual void initializeMimicLocationTrackCommand();
229 
231  virtual void initializeSetLocationCommand();
232 
237  virtual void initializeUseViewModeCommand();
238 
240  static void stealthCommandsRequestCallback(DtSimMessage* msg, void* usr);
241  virtual void processStealthCommandsRequest(DtIfRequestStealthCommands* msg);
242 
243 protected:
245 
247  typedef std::map<DtString, DtStealthCommandExecutorFcn> StealthCommandExecutors;
249 };
250 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
std::map< DtString, DtStealthCommandExecutorFcn > StealthCommandExecutors
Definition: stealthCommandsManager.h:247
DtSimInterfaceMessage is used to send a message to the front end or the back end. ...
Definition: simInterfaceMessage.h:32
std::vector< DtStealthCommand > DtStealthCommands
Definition: stealthCommand.h:100
std::vector< StealthObserver > StealthObservers
Definition: stealthCommandsManager.h:91
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
std::pair< DtSimulationAddress, DtString > StealthObserver
Returns stealth address/observer name pairs to send messages to.
Definition: stealthCommandsManager.h:90
StealthCommandExecutors myStealthCommandExecutors
Definition: stealthCommandsManager.h:248
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSimManager * mySimManager
Definition: stealthCommandsManager.h:244
File: simMsg.h.
Definition: simMessage.h:35
boost::function< void(DtSimManager *, const DtString &simCommand, const DtRwVariableBindings &variables)> DtStealthCommandExecutorFcn
Class: DtStealthCommandsManager.
Definition: stealthCommandsManager.h:25
DtSimManager * simManager()
Definition: stealthCommandsManager.h:104
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
Interface content for requesting the types of stealth commands that are available.
Definition: ifRequestStealthCommands.h:19
Definition: stealthCommandsManager.h:41
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtStealthCommands myStealthCommands
Definition: stealthCommandsManager.h:246
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102

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)