Skip to main content

QuaternionComponent Class Template

Generic quaternion component with domain tagging and dirty tracking. More...

Declaration

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args> class helios::engine::core::components::QuaternionComponent<TDomainTag, TNumericType, THandle, Args> { ... }

Public Member Typedefs Index

template < ... >
usingValue_type = helios::math::quat< TNumericType >
template < ... >
usingHandle_type = THandle

Public Member Functions Index

template < ... >
const Value_type &value () const noexcept

Returns the current quaternion value. More...

template < ... >
voidsetValue (const Value_type &value) noexcept

Updates the quaternion value and marks the component as dirty. More...

Private Member Attributes Index

template < ... >
helios::math::quat< TNumericType >quat = helios::math::quat<TNumericType>::identity()

Description

Generic quaternion component with domain tagging and dirty tracking.

Template Parameters
TDomainTag

Domain tag type used for semantic component grouping.

TNumericType

Floating-point scalar type used by helios::math::quat.

Args

Additional template arguments (e.g. owner handle, tags).

Definition at line 26 of file QuaternionComponent.ixx.

Public Member Typedefs

Handle_type

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args>
using helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::Handle_type = THandle

Definition at line 33 of file QuaternionComponent.ixx.

33 using Handle_type = THandle;

Value_type

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args>
using helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::Value_type = helios::math::quat<TNumericType>

Definition at line 32 of file QuaternionComponent.ixx.

32 using Value_type = helios::math::quat<TNumericType>;

Public Member Functions

setValue()

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args>
void helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::setValue (const Value_type & value)
inline noexcept

Updates the quaternion value and marks the component as dirty.

Parameters
value

New quaternion value.

Definition at line 49 of file QuaternionComponent.ixx.

49 void setValue(const Value_type& value) noexcept {
50 quat = value;
51 }

Reference helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::value.

value()

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args>
const Value_type & helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::value ()
inline noexcept

Returns the current quaternion value.

Returns

Const reference to the stored quaternion.

Definition at line 40 of file QuaternionComponent.ixx.

41 return quat;
42 }

Referenced by helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::setValue.

Private Member Attributes

quat

template <typename TDomainTag, typename TNumericType, typename THandle, typename ... Args>
helios::math::quat<TNumericType> helios::engine::core::components::QuaternionComponent< TDomainTag, TNumericType, THandle, Args >::quat = helios::math::quat<TNumericType>::identity()

Definition at line 28 of file QuaternionComponent.ixx.

28 helios::math::quat<TNumericType> quat = helios::math::quat<TNumericType>::identity();

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


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.