16 #include <boost/signal.hpp>
25 class DtChannelManager;
27 class DtEventProcessorInterface;
28 class DtInputDriverConfiguration;
29 class DtKeyAndMouseEventListener;
31 class DtKeyMapManager;
35 class DtObserverController;
36 class DtChannelConfiguration;
37 class DtObserverAnimator;
38 class DtObserverViewsManager;
39 class DtMouseHideProcessor;
59 const std::string& instanceName);
65 virtual bool onStart();
68 virtual bool onStop();
71 virtual bool onTick();
74 virtual const std::string& className()
const;
77 virtual bool processKeyEvent(
const DtKeyEvent& keyEvent,
81 virtual bool processMouseEvent(
const DtMouseEvent& mouseEvent,
84 virtual bool processPinchGesture(
const DtPinchGesture& pinchGesture,
89 virtual void setMouseHideProccessorEnabled(
bool enabled);
92 virtual void hideMouse(
DtChannel* channel,
float mouseX,
float mouseY);
95 virtual bool isMouseHidden()
const;
98 virtual void showMouse(
DtChannel* channel);
101 virtual void centerMouse(
DtChannel* channel);
104 virtual void setMousePosition(
DtChannel* channel,
float x,
float y);
108 virtual void clearState();
119 virtual DtChannel* findCurrentChannel()
const;
140 const std::string& className);
149 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string&
filename)
const;
153 DtKeyMap* loadKeyMapFromFile(
const std::string&
filename,
bool createBackup =
false);
159 void setKeyMap(
const std::string& mapName);
162 const std::string& keyMap()
const;
165 DtKeyMap* createKeyMap(
const std::string& mapName);
168 DtKeyMap* findKeyMap(
const std::string& mapName);
172 const std::string& functionName,
174 bool replace =
false,
180 const std::string& binaryName,
182 bool replace =
false);
185 virtual void realizeConfiguration(
188 virtual void realizeObserverConfiguration(
203 void addObserverState(
const std::string& observerName,
216 virtual void addObserver(
DtObserver* observer);
219 virtual void removeObserver(
DtObserver* observer);
222 virtual void removeObserver(
const std::string& name);
225 virtual std::vector<DtObserver*> observers()
const;
228 virtual DtObserver* findObserverByName(
const std::string& name);
230 virtual const DtObserver* findObserverByName(
const std::string& name)
const;
234 virtual void setCurrentObserver(
const std::string& observerName);
243 virtual DtObserver* findCurrentObserver()
const;
247 void setTerrainContextEnabled(
bool enabled);
248 bool terrainContextEnabled()
const;
256 virtual void toggleTerrainScaling();
259 virtual void toggleWireframe();
262 virtual void toggleSimulationTimePaused();
265 virtual void incrementTerrainScaleFactor();
268 virtual void decrementTerrainScaleFactor();
271 virtual void toggleEntityLabels();
274 virtual void toggleRotateEntitySymbols();
277 virtual void toggleTacticalGraphics();
280 virtual void toggleEntityHatLines();
283 virtual void toggleTacticalGraphicsHatLines();
285 virtual void toggleEntityHatMode();
288 virtual void toggleTacticalGraphicsHatMode();
291 virtual void togglePropTransparencySelected();
295 virtual void toggleViewControl();
302 virtual void setAllowObserverReset(
bool allow);
303 virtual bool allowObserverReset();
308 virtual void setObserverRestoreOnSlaveConnectEnabled(
bool enable);
309 virtual bool isObserverRestoreOnSlaveConnectEnabled();
312 void saveObservers(
const std::string&
filename);
317 void loadObservers(
const std::string&
filename,
bool force =
false);
327 virtual void removeAnimatorFromObserver(
DtObserver *observer);
330 virtual void takeScreenCapture();
333 virtual void toggleDeveloperDebugUI();
344 void setCurrentObserver(
DtObserver* observer);
347 virtual void initializeKeyMapManager(
const std::string& defaultKeyMap);
348 virtual void bindFunctions();
350 virtual void createMaps();
354 virtual void loadMaps(
bool loadFromFactory =
false);
360 void removeObserver(
ObserversMap& observers,
const std::string& name);
362 void destroyObservers();
364 bool setCurrentObserverFromChannel(
const DtChannel& channel);
368 void slot_channelConfigurationModified(
const std::string& deName,
369 const std::string& winName,
const std::string& oldChannelName,
371 void slot_attachedToChanged(
DtObserver* observer);
374 void createRequiredObservers(
const std::string& engineName);
377 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord);
382 std::string restoreObserversPart1();
385 void restoreObserversPart2(
const std::string&
filename);
387 virtual void slot_displayEngineRealized(
const std::string&,
388 const std::string& engineName);
396 bool showObserverNameWarning();
400 void setShowObserverNameWarning(
bool warn);
boost::function< void(DtObserver &)> ObserverAction
Definition: DtViewStateProcessor.h:32
Virtual base class.
Definition: DtVirtualBaseClass.h:22
This class encapsulates a Key event.
Definition: DtKeyEvent.h:19
TODO: This class is used to encapsulate a set of default observer settings and parameters.
Definition: DtObserverConfiguration.h:25
DtPinchGesture represents a Pinch Multitouch Gesture.
Definition: DtPinchGesture.h:26
A Record of an IG instance.
Definition: DtDeRecord.h:24
Contains makVrv::DtObserverConfiguration class.
A DtObserverSettingsRecord contains the state of an observer.
Definition: DtObserverStateRecord.h:20
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
a Key Map contains a map of keys to FunctionMapEntrys, as well as a list of functions to execute when...
Definition: DtKeyMap.h:315
KeyModifier
Describe which modifier(s) are pressed.
Definition: DtKeyState.h:139
Definition: DtKeyEvent.h:25
unsigned int ObjectType
Definition: DtElementEntry.h:50
The manager for owning key maps.
Definition: DtKeyMapManager.h:32
The abstract Channel Class.
Definition: DtChannel.h:29
A facade for a DtObserverObject.
Definition: DtObserver.h:37
The DtDriver is an abstract class.
Definition: DtDriver.h:34
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtKeyMapManager class.
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains makVrv:DtDriver class.
Definition: DtKeyState.h:140
Base class for handling DtChannels.
Definition: DtChannelManager.h:35
Contains makArchives::DtObserverStateRecord class.
Encapsulates the process of animating an observer to a given location.
Definition: DtObserverAnimator.h:37
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
Manager for the observer view records loaded in the application.
Definition: DtObserverViewsManager.h:28
The base implementation of a configuration.
Definition: DtConfiguration.h:27
DtMouseHideProcessor tracks mouse move events and when they happen.
Definition: DtMouseHideProcessor.h:32
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DtEventProcessorInterface defines the generic interface for classes which handle input events...
Definition: DtEventProcessorInterface.h:37
KeyType
Enumerate the key types. These are based on Virtual Key Codes.
Definition: DtKeyState.h:28
KeyEventType
Enumerate the types of key events supported.
Definition: DtKeyEvent.h:23
This class's main responsibility is to provide the functions used to control an observer.
Definition: DtObserverController.h:29
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtKeyAndMouseEventListener.h:25