VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
makVrf::DtVrfGuiJoystickControlManager Class Reference

This class will be used to query about current joysticks and the capabilities they might have. It will also manage settings for those joysticks as it relates to control of entities.

Inheritance diagram for makVrf::DtVrfGuiJoystickControlManager:
Inheritance graph
[legend]

Public Types

typedef std::map< DtString,
std::map< DtString,
DtRwJoystickControl > > 
JoystickControls
 
typedef std::map< DtString,
JoystickControls
JoystickControlsMap
 

Public Member Functions

 DtVrfGuiJoystickControlManager (makVrv::DtDe &)
 
virtual ~DtVrfGuiJoystickControlManager ()
 
virtual void requestJoystickControlInformation (const DtUUID &)
 
virtual JoystickControls joystickControlInformation (makVrv::DtUniqueID) const
 
virtual JoystickControls joystickControlInformation (const DtUUID &) const
 
virtual JoystickControls joystickControlInformation (const DtEntityType &) const
 
virtual bool hasJoystickControlInformation (makVrv::DtUniqueID) const
 
virtual bool hasJoystickControlInformation (const DtUUID &) const
 
virtual bool hasJoystickControlInformation (const DtEntityType &) const
 
virtual void takeControlOf (makVrv::DtUniqueID, const std::string &configuration, const std::set< std::string > &functionalGroups)
 
virtual void takeControlOf (const DtUUID &, const std::string &configuration, const std::set< std::string > &functionalGroups)
 
virtual bool inControlOf (makVrv::DtUniqueID) const
 
virtual bool inControlOf (const DtUUID &) const
 
virtual bool inControlOf (const DtUUID &, const std::string &) const
 
virtual bool canAnyFunctionGroupBeAssigned (makVrv::DtUniqueID, const std::string &configuration) const
 
virtual bool canAnyFunctionGroupBeAssigned (const DtUUID &, const std::string &configuration) const
 
virtual void releaseControlOf (makVrv::DtUniqueID, const std::set< std::string > &functionalGroups=std::set< std::string >(), bool objectRemoved=false)
 
virtual void releaseControlOf (const DtUUID &, const std::set< std::string > &functionalGroups=std::set< std::string >(), bool objectRemoved=false)
 
virtual void releaseControlOfAll ()
 
const JoystickControlsMapjoystickControlsMap () const
 
virtual std::set< std::string > uncontrolledFunctionGroups (makVrv::DtUniqueID) const
 
virtual std::set< std::string > uncontrolledFunctionGroups (const DtUUID &) const
 
virtual std::set< std::string > functionGroupsDefinedFor (makVrv::DtUniqueID) const
 
virtual std::set< std::string > functionGroupsDefinedFor (const DtUUID &) const
 
virtual bool canFunctionGroupBeAssigned (const DtUUID &uuid, const std::string &configuration, const std::string &functionGroup) const
 
virtual bool canHaveJoystickControls (makVrv::DtUniqueID id) const
 
virtual bool canHaveJoystickControls (const DtUUID &) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static
DtVrfGuiJoystickControlManager
instance (makVrv::DtDe &de)
 
static void registerInstance (makVrv::DtDe &de, DtVrfGuiJoystickControlManager *)
 

Public Attributes

boost::signals2::signal< void(const
DtUUID &, const std::string
&configuration, const std::set
< std::string > &)> 
signal_hasTakenControl
 
boost::signals2::signal< void(const
DtUUID &, const std::set
< std::string > &)> 
signal_hasReleasedControl
 
boost::signals2::signal< void(const
DtEntityType &, const
JoystickControls &)> 
signal_joystickControlsAdded
 

Protected Types

typedef boost::unordered_map
< DtUUID,
DtVrfGuiJoystickControlHandler * > 
InControlOf
 

Protected Member Functions

virtual void initialize ()
 
virtual void slot_stateAdded (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)
 
virtual void processJoystickControlsResponse (DtSimMessage *)
 
virtual void slot_stateRemoved (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *sv)
 
virtual void cleanupHandlers ()
 

Protected Attributes

makVrv::DtDemyDe
 
makVrv::DtSignalConnectionManager myConnections
 
JoystickControlsMap myJoystickControlsMap
 
boost::unordered_set< DtUUIDmyAwaitingResponses
 
DtGuiThreadVrfRemoteControllermyRemoteController
 
InControlOf myInControlOf
 
std::vector
< DtVrfGuiJoystickControlHandler * > 
myCleanupQueue
 

Member Typedef Documentation

Constructor & Destructor Documentation

makVrf::DtVrfGuiJoystickControlManager::DtVrfGuiJoystickControlManager ( makVrv::DtDe )

CTOR.

virtual makVrf::DtVrfGuiJoystickControlManager::~DtVrfGuiJoystickControlManager ( )
virtual

DTOR.

Member Function Documentation

static DtVrfGuiJoystickControlManager& makVrf::DtVrfGuiJoystickControlManager::instance ( makVrv::DtDe de)
static
Returns
The singleton instance of the DtJoystickManager.
static void makVrf::DtVrfGuiJoystickControlManager::registerInstance ( makVrv::DtDe de,
DtVrfGuiJoystickControlManager  
)
static

Register a new joystick manager.

virtual void makVrf::DtVrfGuiJoystickControlManager::requestJoystickControlInformation ( const DtUUID )
virtual

Request joystick control information (if not already there for the specified entity type) for the given entity.

virtual JoystickControls makVrf::DtVrfGuiJoystickControlManager::joystickControlInformation ( makVrv::DtUniqueID  ) const
virtual

Returns the joystick control information for the given entity.

virtual JoystickControls makVrf::DtVrfGuiJoystickControlManager::joystickControlInformation ( const DtUUID ) const
virtual
virtual JoystickControls makVrf::DtVrfGuiJoystickControlManager::joystickControlInformation ( const DtEntityType &  ) const
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::hasJoystickControlInformation ( makVrv::DtUniqueID  ) const
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::hasJoystickControlInformation ( const DtUUID ) const
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::hasJoystickControlInformation ( const DtEntityType &  ) const
virtual
virtual void makVrf::DtVrfGuiJoystickControlManager::takeControlOf ( makVrv::DtUniqueID  ,
const std::string &  configuration,
const std::set< std::string > &  functionalGroups 
)
virtual

Takes control of the current entity given the functional groups. Will send a message to the back-end letting it know that this entity is to be taken control of for the specified functional group. When in play mode a message will also be sent to the entity with appropriate joystick information. If the myTakeControlGameControllerEventHandler is not specified the handler will now be created from it's creator and installed.

virtual void makVrf::DtVrfGuiJoystickControlManager::takeControlOf ( const DtUUID ,
const std::string &  configuration,
const std::set< std::string > &  functionalGroups 
)
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::inControlOf ( makVrv::DtUniqueID  ) const
virtual

Returns true if the front-end has control of this entity.

virtual bool makVrf::DtVrfGuiJoystickControlManager::inControlOf ( const DtUUID ) const
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::inControlOf ( const DtUUID ,
const std::string &   
) const
virtual

Returns true if the front-end has control of this function group for this entity.

virtual bool makVrf::DtVrfGuiJoystickControlManager::canAnyFunctionGroupBeAssigned ( makVrv::DtUniqueID  ,
const std::string &  configuration 
) const
virtual

Returns true if any function group is available for this configuration.

virtual bool makVrf::DtVrfGuiJoystickControlManager::canAnyFunctionGroupBeAssigned ( const DtUUID ,
const std::string &  configuration 
) const
virtual
virtual void makVrf::DtVrfGuiJoystickControlManager::releaseControlOf ( makVrv::DtUniqueID  ,
const std::set< std::string > &  functionalGroups = std::set< std::string >(),
bool  objectRemoved = false 
)
virtual

Releases control of this entity for the given set of functional groups. If the functional groups are empty then all control is released. A message will be sent ot the back-end letting it know.

virtual void makVrf::DtVrfGuiJoystickControlManager::releaseControlOf ( const DtUUID ,
const std::set< std::string > &  functionalGroups = std::set< std::string >(),
bool  objectRemoved = false 
)
virtual
virtual void makVrf::DtVrfGuiJoystickControlManager::releaseControlOfAll ( )
virtual

Releases control of all controlled items.

const JoystickControlsMap& makVrf::DtVrfGuiJoystickControlManager::joystickControlsMap ( ) const
inline
virtual std::set<std::string> makVrf::DtVrfGuiJoystickControlManager::uncontrolledFunctionGroups ( makVrv::DtUniqueID  ) const
virtual

Returns the set of uncontrolled function groups for this particular entity.

virtual std::set<std::string> makVrf::DtVrfGuiJoystickControlManager::uncontrolledFunctionGroups ( const DtUUID ) const
virtual
virtual std::set<std::string> makVrf::DtVrfGuiJoystickControlManager::functionGroupsDefinedFor ( makVrv::DtUniqueID  ) const
virtual

Function groups available to this UUID.

virtual std::set<std::string> makVrf::DtVrfGuiJoystickControlManager::functionGroupsDefinedFor ( const DtUUID ) const
virtual
virtual bool makVrf::DtVrfGuiJoystickControlManager::canFunctionGroupBeAssigned ( const DtUUID uuid,
const std::string &  configuration,
const std::string &  functionGroup 
) const
virtual

Returns true if the specified function group is available for the given UUID.

virtual bool makVrf::DtVrfGuiJoystickControlManager::canHaveJoystickControls ( makVrv::DtUniqueID  id) const
virtual

Returns true if it is possible for this item to have joystick controls (as specified by having the DtHasJoystickControls in extended data)

virtual bool makVrf::DtVrfGuiJoystickControlManager::canHaveJoystickControls ( const DtUUID ) const
virtual
virtual void makVrf::DtVrfGuiJoystickControlManager::initialize ( )
protectedvirtual
virtual void makVrf::DtVrfGuiJoystickControlManager::slot_stateAdded ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  )
protectedvirtual

When a state is added make a request for the joystick controls if the entity type has not already been requested.

virtual void makVrf::DtVrfGuiJoystickControlManager::processJoystickControlsResponse ( DtSimMessage )
protectedvirtual

Callback made when an joystick response is received.

virtual void makVrf::DtVrfGuiJoystickControlManager::slot_stateRemoved ( const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  sv)
protectedvirtual
virtual void makVrf::DtVrfGuiJoystickControlManager::cleanupHandlers ( )
protectedvirtual

Member Data Documentation

boost::signals2::signal<void (const DtUUID&, const std::string& configuration, const std::set<std::string>&)> makVrf::DtVrfGuiJoystickControlManager::signal_hasTakenControl

Signal sent when a user takes control.

boost::signals2::signal<void (const DtUUID&, const std::set<std::string>&)> makVrf::DtVrfGuiJoystickControlManager::signal_hasReleasedControl

Signal sent when a user releases control.

boost::signals2::signal<void (const DtEntityType&, const JoystickControls&)> makVrf::DtVrfGuiJoystickControlManager::signal_joystickControlsAdded

Signal sent when a new entity type has been added with joystick information.

makVrv::DtDe& makVrf::DtVrfGuiJoystickControlManager::myDe
protected
makVrv::DtSignalConnectionManager makVrf::DtVrfGuiJoystickControlManager::myConnections
protected
JoystickControlsMap makVrf::DtVrfGuiJoystickControlManager::myJoystickControlsMap
protected
boost::unordered_set<DtUUID> makVrf::DtVrfGuiJoystickControlManager::myAwaitingResponses
protected
DtGuiThreadVrfRemoteController& makVrf::DtVrfGuiJoystickControlManager::myRemoteController
protected
InControlOf makVrf::DtVrfGuiJoystickControlManager::myInControlOf
protected
std::vector<DtVrfGuiJoystickControlHandler*> makVrf::DtVrfGuiJoystickControlManager::myCleanupQueue
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)