VR-Forces Developer's Guide
 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 
15 #include <boost/function.hpp>
16 
18 class DtSimMessage;
20 class DtSimulationAddress;
21 class DtSimCondExpr;
24 
25 typedef boost::function<void (DtSimulationServices*, const DtString& simCommand, const DtRwVariableBindings& variables)> DtStealthCommandExecutorFcn;
26 
36 {
37 public:
40 
42  virtual ~DtStealthCommandsManager();
43 
45  virtual bool init();
46 
49  virtual void addStealthCommand(const DtString& command, const DtString& displayName, DtStealthCommandExecutorFcn);
50 
52  virtual void removeStealthCommand(const DtString& command);
53 
56  virtual void addStealthSelectorToCommand(const DtString& command);
57 
59  virtual void addObserverModeSelectorToCommand(const DtString& command);
60 
62  virtual void addAttachSelectorToCommand(const DtString& command);
63 
65  virtual void addTrackedEntitySelectorToCommand(const DtString& command);
66 
68  virtual void addBodyPositionSelectorToCommand(const DtString& command);
69 
71  virtual void addLocationSelectorToCommand(const DtString& command);
72 
74  virtual void addOffsetOrientationSelectorToCommand(const DtString& command);
75 
77  virtual void addObserverViewSelectorToCommand(const DtString& command);
78 
81  virtual void addObserverTransitionTimeToCommand(const DtString& command);
82 
84  typedef std::pair<DtSimulationAddress, DtString> StealthObserver;
85  typedef std::vector<StealthObserver> StealthObservers;
86  StealthObservers getStealthObservers(const DtRwVariableBindings&) const;
87 
89  virtual void executeCommand(const DtString&, const DtRwVariableBindings&);
90 
92  virtual void setObserverMode(const DtRwVariableBindings&);
93 
95  virtual DtString attachToGlobalId(const DtRwVariableBindings& vars,
96  const std::string& varname = "attachto") const;
97 
101  virtual void resetStealth(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
102 
105  virtual void detachStealth(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
106 
112  virtual void attachMimic(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
113 
121  virtual void attachTether(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
122 
131  virtual void attachTetherLocationTrack(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
132 
141  virtual void attachMimicLocationTrack(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
142 
150  virtual void attachFollow(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
151 
159  virtual void attachTrack(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
160 
168  virtual void attachTetherTrack(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
169 
177  virtual void setLocation(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
178 
184  virtual void setObserverView(DtSimulationServices*, const DtString& command, const DtRwVariableBindings&);
185 
188  virtual void createSensorFieldOfView(const DtUUID&, const DtString& frontEnd, bool create, bool createControls, const DtString& sensorGimbal);
189 
191  {
192  return mySimulationServices;
193  }
194 
195 protected:
197  virtual void initializeResetCommand();
198 
200  virtual void initializeDetachCommand();
201 
203  virtual void initializeMimicCommand();
204 
205 
207  virtual void initializeTetherCommand();
208 
210  virtual void initializeFollowCommand();
211 
213  virtual void initializeTrackCommand();
214 
216  virtual void initializeTetherTrackCommand();
217 
219  virtual void initializeTetherLocationTrackCommand();
220 
222  virtual void initializeMimicLocationTrackCommand();
223 
225  virtual void initializeSetLocationCommand();
226 
231  virtual void initializeUseViewModeCommand();
232 
234  static void stealthCommandsRequestCallback(DtSimMessage* msg, void* usr);
235  virtual void processStealthCommandsRequest(DtIfRequestStealthCommands* msg);
236 
237 protected:
239 
241  typedef std::map<DtString, DtStealthCommandExecutorFcn> StealthCommandExecutors;
243 };
244 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtSimulationServices * simulationServices() const
Definition: stealthCommandsManager.h:190
std::map< DtString, DtStealthCommandExecutorFcn > StealthCommandExecutors
Definition: stealthCommandsManager.h:241
DtSimInterfaceMessage is used to send a message to the front end or the back end. It derives from a s...
Definition: simInterfaceMessage.h:23
Contains the DtUUID class declaration.
std::vector< DtStealthCommand > DtStealthCommands
Definition: stealthCommand.h:100
std::vector< StealthObserver > StealthObservers
Definition: stealthCommandsManager.h:85
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
std::pair< DtSimulationAddress, DtString > StealthObserver
Returns stealth address/observer name pairs to send messages to.
Definition: stealthCommandsManager.h:84
StealthCommandExecutors myStealthCommandExecutors
Definition: stealthCommandsManager.h:242
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
Interface content for requesting the types of stealth commands that are available.
Definition: ifRequestStealthCommands.h:19
Responsible for maintaining and executing stealth commands. The stealth commands are of the format (i...
Definition: stealthCommandsManager.h:35
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtStealthCommands myStealthCommands
Definition: stealthCommandsManager.h:240
DtSimulationServices * mySimulationServices
Definition: stealthCommandsManager.h:238
boost::function< void(DtSimulationServices *, const DtString &simCommand, const DtRwVariableBindings &variables)> DtStealthCommandExecutorFcn
Definition: stealthCommandsManager.h:23

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)