VR-Forces Development_Version 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 
141  virtual void attachTetherLocationTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
142 
151  virtual void attachMimicLocationTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
152 
160  virtual void attachFollow(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
161 
169  virtual void attachTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
170 
178  virtual void attachTetherTrack(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
179 
187  virtual void setLocation(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
188 
194  virtual void setObserverView(DtSimManager*, const DtString& command, const DtRwVariableBindings&);
195 
196 protected:
198  virtual void initializeResetCommand();
199 
201  virtual void initializeDetachCommand();
202 
204  virtual void initializeMimicCommand();
205 
206 
208  virtual void initializeTetherCommand();
209 
211  virtual void initializeFollowCommand();
212 
214  virtual void initializeTrackCommand();
215 
217  virtual void initializeTetherTrackCommand();
218 
220  virtual void initializeTetherLocationTrackCommand();
221 
223  virtual void initializeMimicLocationTrackCommand();
224 
226  virtual void initializeSetLocationCommand();
227 
232  virtual void initializeUseViewModeCommand();
233 
235  static void stealthCommandsRequestCallback(DtSimMessage* msg, void* usr);
236  virtual void processStealthCommandsRequest(DtIfRequestStealthCommands* msg);
237 
238 protected:
240 
242  typedef std::map<DtString, DtStealthCommandExecutorFcn> StealthCommandExecutors;
244 };
245 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)