Plasma Engine  2.0
Loading...
Searching...
No Matches
plXRInputDevice Class Referenceabstract
Inheritance diagram for plXRInputDevice:

Public Member Functions

Devices
virtual void GetDeviceList (plHybridArray< plXRDeviceID, 64 > &out_devices) const =0
 Fills out a list of valid (connected) device IDs.
 
virtual plXRDeviceID GetDeviceIDByType (plXRDeviceType::Enum type) const =0
 Returns the deviceID for a specific type of device. If the device is not connected, -1 is returned instead.
 
virtual const plXRDeviceStateGetDeviceState (plXRDeviceID deviceID) const =0
 Returns the current device state for a valid device ID.
 
virtual plString GetDeviceName (plXRDeviceID deviceID) const =0
 Returns the device name for a valid device ID.
 
virtual plBitflags< plXRDeviceFeaturesGetDeviceFeatures (plXRDeviceID deviceID) const =0
 Returns the device features for a valid device ID.
 
const plXRDeviceEventGetInputEvent ()
 Returns the input event. Allows tracking device addition and removal.
 
- Public Member Functions inherited from plInputDevice
 plInputDevice ()
 Default Constructor.
 
float GetInputSlotState (plStringView sSlot) const
 Allows to query current input values for the given slot.
 
bool HasDeviceBeenUsedLastFrame () const
 Returns true, if the device was 'used' during the last frame, ie. when it generated input due to some user interaction.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Attributes

plXRDeviceEvent m_InputEvents
 
- Protected Attributes inherited from plInputDevice
plMap< plString, float > m_InputSlotValues
 Stores all the values for all input slots that this device handles.
 
plUInt32 m_uiLastCharacter
 If this input device type handles character input, it should write the last typed character into this variable. The plInputManager calls RetrieveLastCharacter() to query what the user typed last.
 
- Protected Attributes inherited from plEnumerable< plInputDevice, plReflectedClass >
plEnumerablem_pNextInstance
 

Additional Inherited Members

- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 
- Protected Member Functions inherited from plInputDevice
virtual void InitializeDevice ()=0
 Override this if you need to do device specific initialization before the first use.
 
virtual void UpdateInputSlotValues ()=0
 Override this, if you need to query the state of the hardware to update the input slots.
 
virtual void ResetInputSlotValues ()
 Override this, if you need to reset certain input slot values to zero, after the plInputManager is finished with the current frame update.
 
virtual void RegisterInputSlots ()=0
 Override this to register all the input slots that this device exposes.
 
virtual void UpdateHardwareState (plTime tTimeDifference)
 This function is called once after plInputManager::Update with the same time delta value. It allows to update hardware state, such as the vibration of gamepad motors.
 
- Static Protected Member Functions inherited from plInputDevice
static void RegisterInputSlot (plStringView sName, plStringView sDefaultDisplayName, plBitflags< plInputSlotFlags > SlotFlags)
 Calls RegisterInputSlot() on the plInputManager and passes the parameters through.
 

Member Function Documentation

◆ GetDeviceFeatures()

virtual plBitflags< plXRDeviceFeatures > plXRInputDevice::GetDeviceFeatures ( plXRDeviceID deviceID) const
pure virtual

Returns the device features for a valid device ID.

Implemented in plDummyXRInput, and plOpenXRInputDevice.

◆ GetDeviceIDByType()

virtual plXRDeviceID plXRInputDevice::GetDeviceIDByType ( plXRDeviceType::Enum type) const
pure virtual

Returns the deviceID for a specific type of device. If the device is not connected, -1 is returned instead.

Implemented in plDummyXRInput, and plOpenXRInputDevice.

◆ GetDeviceList()

virtual void plXRInputDevice::GetDeviceList ( plHybridArray< plXRDeviceID, 64 > & out_devices) const
pure virtual

Fills out a list of valid (connected) device IDs.

Implemented in plDummyXRInput, and plOpenXRInputDevice.

◆ GetDeviceName()

virtual plString plXRInputDevice::GetDeviceName ( plXRDeviceID deviceID) const
pure virtual

Returns the device name for a valid device ID.

This returns a human readable name to identify the device. For plXRDeviceType::HMD the name is always 'HMD'. This can be used for e.g. controllers to create custom game input logic or mappings if a certain type of controller is used. Values could be for example: 'Simple Controller', 'Mixed Reality Motion Controller', 'Hand Interaction' etc.

Implemented in plDummyXRInput, and plOpenXRInputDevice.

◆ GetDeviceState()

virtual const plXRDeviceState & plXRInputDevice::GetDeviceState ( plXRDeviceID deviceID) const
pure virtual

Returns the current device state for a valid device ID.

Implemented in plDummyXRInput, and plOpenXRInputDevice.


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