Open 3D Engine AzFramework API Reference 25.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::InputChannelQuaternion Class Reference

#include <InputChannelQuaternion.h>

Inherits AzFramework::InputChannel.

Classes

struct  QuaternionData
 Custom data struct for three dimensional axis data. More...
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (InputChannelQuaternion, AZ::SystemAllocator)
 
 AZ_RTTI (InputChannelQuaternion, "{91E34916-F7C8-46AD-A239-DB9DC24C237A}", InputChannel)
 
 InputChannelQuaternion (const InputChannelId &inputChannelId, const InputDevice &inputDevice)
 
 AZ_DISABLE_COPY_MOVE (InputChannelQuaternion)
 
 ~InputChannelQuaternion () override=default
 Default destructor.
 
float GetValue () const override
 
float GetDelta () const override
 
const InputChannel::CustomDataGetCustomData () const override
 
void ResetState () override
 AzFramework::InputChannelRequests::ResetState
 
void ProcessRawInputEvent (const AZ::Quaternion &rawValue)
 
- Public Member Functions inherited from AzFramework::InputChannel
 AZ_CLASS_ALLOCATOR (InputChannel, AZ::SystemAllocator)
 
 AZ_RTTI (InputChannel, "{1C88625D-D297-4A1C-AE07-E17F88D138F3}")
 
 InputChannel (const InputChannelId &inputChannelId, const InputDevice &inputDevice)
 
 AZ_DISABLE_COPY_MOVE (InputChannel)
 
 ~InputChannel () override
 Destructor.
 
const InputChannelGetInputChannel () const final
 AzFramework::InputChannelRequests::GetInputChannel
 
const InputChannelIdGetInputChannelId () const
 
const InputDeviceGetInputDevice () const
 
State GetState () const
 
bool IsActive () const
 
template<class CustomDataType >
const CustomDataType * GetCustomData () const
 
bool UpdateState (bool isChannelActive)
 
void ResetState () override
 AzFramework::InputChannelRequests::ResetState
 
bool IsStateIdle () const
 
bool IsStateBegan () const
 
bool IsStateUpdated () const
 
bool IsStateEnded () const
 

Additional Inherited Members

- Public Types inherited from AzFramework::InputChannel
enum class  State { Idle , Began , Updated , Ended }
 State of the input channel (not all channels will go through all states) More...
 
using SharedPositionData2D = AZStd::shared_ptr< InputChannel::PositionData2D >
 Alias for verbose shared_ptr class.
 
- Static Public Member Functions inherited from AzFramework::InputChannel
static void Reflect (AZ::ReflectContext *context)
 

Detailed Description

Class for input channels that emit quaternion input values. Example: motion sensor data (orientation)

Constructor & Destructor Documentation

◆ InputChannelQuaternion()

AzFramework::InputChannelQuaternion::InputChannelQuaternion ( const InputChannelId inputChannelId,
const InputDevice inputDevice 
)

Constructor

Parameters
[in]inputChannelIdId of the input channel being constructed
[in]inputDeviceInput device that owns the input channel

Member Function Documentation

◆ GetCustomData()

const InputChannel::CustomData * AzFramework::InputChannelQuaternion::GetCustomData ( ) const
overridevirtual

Access to the quaternion data associated with the input channel

Returns
Pointer to the quaternion data

Reimplemented from AzFramework::InputChannel.

◆ GetDelta()

float AzFramework::InputChannelQuaternion::GetDelta ( ) const
inlineoverridevirtual

Quaternion input channels do not represent a single value

Returns
0.0f

Reimplemented from AzFramework::InputChannel.

◆ GetValue()

float AzFramework::InputChannelQuaternion::GetValue ( ) const
inlineoverridevirtual

Quaternion input channels do not represent a single value

Returns
0.0f

Reimplemented from AzFramework::InputChannel.

◆ ProcessRawInputEvent()

void AzFramework::InputChannelQuaternion::ProcessRawInputEvent ( const AZ::Quaternion &  rawValue)

Process a raw input event, that will in turn update the channel's state based on whether it's active/engaged or inactive/idle, broadcasting an input event if the channel is left in a non-idle state. This function (or InputChannel::UpdateState) should only be called a max of once per channel per frame from InputDeviceRequests::TickInputDevice to ensure that input channels broadcast no more than one event each frame (and at the same time).

Parameters
[in]rawValuesThe raw quaternion value to process

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