VR-Forces 4.7 Class Documentation
 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. More...

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 &)
 CTOR.
virtual ~DtVrfGuiJoystickControlManager ()
 DTOR.
virtual void requestJoystickControlInformation (const DtUUID &)
 Request joystick control information (if not already there for the specified entity type) for the given entity.
virtual JoystickControls joystickControlInformation (makVrv::DtUniqueID) const
 Returns the joystick control information for the given entity.
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)
 Takes control of the current entity given the functional groups.
virtual void takeControlOf (const DtUUID &, const std::string &configuration, const std::set< std::string > &functionalGroups)
virtual bool inControlOf (makVrv::DtUniqueID) const
 Returns true if the front-end has control of this entity.
virtual bool inControlOf (const DtUUID &) const
virtual bool inControlOf (const DtUUID &, const std::string &) const
 Returns true if the front-end has control of this function group for this entity.
virtual bool canAnyFunctionGroupBeAssigned (makVrv::DtUniqueID, const std::string &configuration) const
 Returns true if any function group is available for this configuration.
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)
 Releases control of this entity for the given set of functional groups.
virtual void releaseControlOf (const DtUUID &, const std::set< std::string > &functionalGroups=std::set< std::string >(), bool objectRemoved=false)
virtual void releaseControlOfAll ()
 Releases control of all controlled items.
const JoystickControlsMapjoystickControlsMap () const
virtual std::set< std::string > uncontrolledFunctionGroups (makVrv::DtUniqueID) const
 Returns the set of uncontrolled function groups for this particular entity.
virtual std::set< std::string > uncontrolledFunctionGroups (const DtUUID &) const
virtual std::set< std::string > functionGroupsDefinedFor (makVrv::DtUniqueID) const
 Function groups available to this UUID.
virtual std::set< std::string > functionGroupsDefinedFor (const DtUUID &) const
virtual bool canFunctionGroupBeAssigned (const DtUUID &uuid, const std::string &configuration, const std::string &functionGroup) const
 Returns true if the specified function group is available for the given UUID.
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static
DtVrfGuiJoystickControlManager
instance (makVrv::DtDe &de)
static void registerInstance (makVrv::DtDe &de, DtVrfGuiJoystickControlManager *)
 Register a new joystick manager.

Public Attributes

boost::signal< void(const
DtUUID &, const std::string
&configuration, const std::set
< std::string > &)> 
signal_hasTakenControl
 Signal sent when a user takes control.
boost::signal< void(const
DtUUID &, const std::set
< std::string > &)> 
signal_hasReleasedControl
 Signal sent when a user releases control.
boost::signal< void(const
DtEntityType &, const
JoystickControls &)> 
signal_joystickControlsAdded
 Signal sent when a new entity type has been added with joystick information.

Protected Types

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

Protected Member Functions

virtual void initialize ()
virtual void slot_stateAdded (const makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)
 When a state is added make a request for the joystick controls if the entity type has not already been requested.
virtual void processJoystickControlsResponse (DtSimMessage *)
 Callback made when an joystick response is received.
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

Detailed Description

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.

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 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::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::signal<void (const DtUUID&, const std::set<std::string>&)> makVrf::DtVrfGuiJoystickControlManager::signal_hasReleasedControl

Signal sent when a user releases control.

boost::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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)