VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 "vl/globalObjectDesignator.h"
14 
15 #include <boost/function.hpp>
16 
17 class DtSimManager;
18 class DtSimMessage;
20 class DtVrfObject;
21 class DtSimulationAddress;
22 class DtSimCondExpr;
25 
37 
38 typedef boost::function<void (DtSimManager*, const DtString& simCommand, const DtRwVariableBindings& variables)> DtStealthCommandExecutorFcn;
39 
41 {
42 public:
45 
47  virtual ~DtStealthCommandsManager();
48 
50  virtual bool init();
51 
54  virtual void addStealthCommand(const DtString& command, const DtString& displayName, DtStealthCommandExecutorFcn);
55 
57  virtual void removeStealthCommand(const DtString& command);
58 
61  virtual void addStealthSelectorToCommand(const DtString& command);
62 
64  virtual void addObserverModeSelectorToCommand(const DtString& command);
65 
67  virtual void addAttachSelectorToCommand(const DtString& command);
68 
70  virtual void addTrackedEntitySelectorToCommand(const DtString& command);
71 
73  virtual void addBodyPositionSelectorToCommand(const DtString& command);
74 
76  virtual void addLocationSelectorToCommand(const DtString& command);
77 
79  virtual void addOffsetOrientationSelectorToCommand(const DtString& command);
80 
82  virtual void addObserverViewSelectorToCommand(const DtString& command);
83 
86  virtual void addObserverTransitionTimeToCommand(const DtString& command);
87 
89  typedef std::pair<DtSimulationAddress, DtString> StealthObserver;
90  typedef std::vector<StealthObserver> StealthObservers;
91  StealthObservers getStealthObservers(const DtRwVariableBindings&) const;
92 
94  virtual void executeCommand(const DtString&, const DtRwVariableBindings&);
95 
97  virtual void setObserverMode(const DtRwVariableBindings&);
98 
100  virtual DtGlobalObjectDesignator attachToGlobalId(const DtRwVariableBindings& vars,
101  const std::string& varname = "attachto") const;
102 
103  DtSimManager* simManager()
104  {
105  return mySimManager;
106  }
107 
111  virtual void resetStealth(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
112 
115  virtual void detachStealth(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
116 
122  virtual void attachMimic(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
123 
131  virtual void attachTether(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
132 
140  virtual void attachFollow(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
141 
149  virtual void attachTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
150 
158  virtual void attachTetherTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
159 
167  virtual void setLocation(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
168 
174  virtual void setObserverView(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
175 
176 protected:
178  virtual void initializeResetCommand();
179 
181  virtual void initializeDetachCommand();
182 
184  virtual void initializeMimicCommand();
185 
187  virtual void initializeTetherCommand();
188 
190  virtual void initializeFollowCommand();
191 
193  virtual void initializeTrackCommand();
194 
196  virtual void initializeTetherTrackCommand();
197 
199  virtual void initializeSetLocationCommand();
200 
205  virtual void initializeUseViewModeCommand();
206 
208  static void stealthCommandsRequestCallback(DtSimMessage* msg, void* usr);
209  virtual void processStealthCommandsRequest(DtIfRequestStealthCommands* msg);
210 
211 protected:
213 
215  typedef std::map<DtString, DtStealthCommandExecutorFcn> StealthCommandExecutors;
217 };
218 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)