23 #include <vlpi/entityType.h>
29 #include <boost/function.hpp>
30 #include <boost/unordered_set.hpp>
31 #include <boost/unordered_map.hpp>
36 class DtRecordSettingsBackupInterface;
47 class DtGuiThreadVrfRemoteController;
48 class DtVrfGuiJoystickControlHandler;
73 virtual void requestJoystickControlInformation(
const DtUUID&);
78 virtual JoystickControls joystickControlInformation(
const DtEntityType&)
const;
80 virtual bool hasJoystickControlInformation(
const DtUUID&)
const;
81 virtual bool hasJoystickControlInformation(
const DtEntityType&)
const;
88 virtual void takeControlOf(
makVrv::DtUniqueID,
const std::string& configuration,
const std::set<std::string>& functionalGroups);
89 virtual void takeControlOf(
const DtUUID&,
const std::string& configuration,
const std::set<std::string>& functionalGroups);
93 virtual bool inControlOf(
const DtUUID&)
const;
96 virtual bool inControlOf(
const DtUUID&,
const std::string&)
const;
99 virtual bool canAnyFunctionGroupBeAssigned(
makVrv::DtUniqueID,
const std::string& configuration)
const;
100 virtual bool canAnyFunctionGroupBeAssigned(
const DtUUID&,
const std::string& configuration)
const;
104 virtual void releaseControlOf(
makVrv::DtUniqueID,
const std::set<std::string>& functionalGroups = std::set<std::string>(),
105 bool objectRemoved =
false);
106 virtual void releaseControlOf(
const DtUUID&,
const std::set<std::string>& functionalGroups = std::set<std::string>(),
107 bool objectRemoved =
false);
110 virtual void releaseControlOfAll();
116 virtual std::set<std::string> uncontrolledFunctionGroups(
const DtUUID&)
const;
120 virtual std::set<std::string> functionGroupsDefinedFor(
const DtUUID&)
const;
123 virtual bool canFunctionGroupBeAssigned(
const DtUUID& uuid,
124 const std::string& configuration,
const std::string& functionGroup)
const;
128 virtual bool canHaveJoystickControls(
const DtUUID&)
const;
131 boost::signals2::signal<void (const DtUUID&, const std::string& configuration, const std::set<std::string>&)> signal_hasTakenControl;
134 boost::signals2::signal<void (const DtUUID&, const std::set<std::string>&)> signal_hasReleasedControl;
140 virtual void initialize();
145 virtual void processJoystickControlsResponse(
DtSimMessage*);
147 virtual void cleanupHandlers();
159 typedef boost::unordered_map<DtUUID, DtVrfGuiJoystickControlHandler*>
InControlOf;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
JoystickControlsMap myJoystickControlsMap
Definition: vrfGuiJoystickControlManager.h:153
std::map< DtString, std::map< DtString, DtRwJoystickControl > > JoystickControls
Definition: vrfGuiJoystickControlManager.h:56
boost::unordered_set< DtUUID > myAwaitingResponses
Definition: vrfGuiJoystickControlManager.h:155
boost::unordered_map< DtUUID, DtVrfGuiJoystickControlHandler * > InControlOf
Definition: vrfGuiJoystickControlManager.h:159
std::map< DtString, JoystickControls > JoystickControlsMap
Definition: vrfGuiJoystickControlManager.h:57
This class is a thread-safe API to the DtVrfRemoteController. Since DtVrfRemoteController is instanti...
Definition: guiThreadVrfRemoteController.h:97
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
This class will be used to query about current joysticks and the capabilities they might have...
Definition: vrfGuiJoystickControlManager.h:52
boost::signals2::signal< void(const DtEntityType &, const JoystickControls &)> signal_joystickControlsAdded
Signal sent when a new entity type has been added with joystick information.
Definition: vrfGuiJoystickControlManager.h:137
InControlOf myInControlOf
Definition: vrfGuiJoystickControlManager.h:160
makVrv::DtSignalConnectionManager myConnections
Definition: vrfGuiJoystickControlManager.h:152
makVrv::DtDe & myDe
Definition: vrfGuiJoystickControlManager.h:150
Contains makVrv::DtVirtualBaseClass class.
DtGuiThreadVrfRemoteController & myRemoteController
Definition: vrfGuiJoystickControlManager.h:157
File: simMsg.h.
Definition: simMessage.h:35
const JoystickControlsMap & joystickControlsMap() const
Definition: vrfGuiJoystickControlManager.h:112
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::vector< DtVrfGuiJoystickControlHandler * > myCleanupQueue
Definition: vrfGuiJoystickControlManager.h:162
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76