Vec3Component Class Template
Generic 3D value component with dirty-state tracking. More...
Declaration
Public Constructors Index
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component ()=default | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component (const vec3< TNumericType > value) | |
|
Constructs the component with an initial value. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component (const TNumericType x, const TNumericType y, const TNumericType z) | |
|
Constructs the component from scalar vector coordinates. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component (const Vec3Component &other) | |
|
Copy constructor. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component (Vec3Component &&) noexcept=default | |
|
Default move constructor. More... | |
Public Operators Index
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component & | operator= (const Vec3Component &)=default |
|
Default copy assignment. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| Vec3Component & | operator= (Vec3Component &&) noexcept=default |
|
Default move assignment. More... | |
Public Member Functions Index
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| void | onAcquire () noexcept |
|
Lifecycle hook called when the component is acquired. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| void | onRelease () noexcept |
|
Lifecycle hook called when the component is released. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| void | clearDirty () noexcept |
|
Clears the dirty flag after dependent systems consumed updates. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| bool | isDirty () const noexcept |
|
Returns whether the component requires a refresh pass. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| auto | value () const noexcept -> vec3< TNumericType > |
|
Returns the current value. More... | |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| auto | value () noexcept -> vec3< TNumericType > |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| void | setValue (const vec3< TNumericType > value) noexcept |
|
Updates the value and marks the component dirty on change. More... | |
Private Member Attributes Index
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| helios::math::vec3< TNumericType > | value_ {} |
template <typename TDomainTag, typename THandle, typename TNumericType> | |
| bool | isDirty_ = true |
Description
Generic 3D value component with dirty-state tracking.
- Template Parameters
-
TDomainTag Semantic domain tag.
THandle Owning entity handle type.
TNumericType Scalar type for vector values.
Definition at line 24 of file Vec3Component.ixx.
Public Constructors
Vec3Component()
| default |
Definition at line 32 of file Vec3Component.ixx.
Vec3Component()
| inline explicit |
Constructs the component with an initial value.
- Parameters
-
value Initial value vector.
Definition at line 39 of file Vec3Component.ixx.
Vec3Component()
| inline explicit |
Constructs the component from scalar vector coordinates.
- Parameters
-
x X component.
y Y component.
z Z component.
Definition at line 48 of file Vec3Component.ixx.
Vec3Component()
| inline |
Copy constructor.
Copies the value and forces the copied component into a dirty state to ensure dependent systems refresh cached data.
- Parameters
-
other The component to copy from.
Definition at line 60 of file Vec3Component.ixx.
Vec3Component()
| noexcept default |
Default move constructor.
Definition at line 67 of file Vec3Component.ixx.
Public Operators
operator=()
| default |
Default copy assignment.
Definition at line 65 of file Vec3Component.ixx.
operator=()
| noexcept default |
Default move assignment.
Definition at line 69 of file Vec3Component.ixx.
Public Member Functions
clearDirty()
| inline noexcept |
Clears the dirty flag after dependent systems consumed updates.
Definition at line 92 of file Vec3Component.ixx.
isDirty()
| inline noexcept |
onAcquire()
| inline noexcept |
Lifecycle hook called when the component is acquired.
Marks the component dirty to trigger downstream recomputation.
Definition at line 76 of file Vec3Component.ixx.
onRelease()
| inline noexcept |
Lifecycle hook called when the component is released.
Marks the component dirty to trigger downstream recomputation.
Definition at line 85 of file Vec3Component.ixx.
setValue()
| inline noexcept |
Updates the value and marks the component dirty on change.
- Parameters
-
value New value vector.
Definition at line 123 of file Vec3Component.ixx.
Reference helios::engine::core::components::Vec3Component< TDomainTag, THandle, TNumericType >::value.
value()
| inline noexcept |
Returns the current value.
- Returns
Current 3D vector value.
Definition at line 110 of file Vec3Component.ixx.
Referenced by helios::engine::core::components::Vec3Component< TDomainTag, THandle, TNumericType >::setValue.
value()
| inline noexcept |
Definition at line 114 of file Vec3Component.ixx.
Private Member Attributes
isDirty_
|
Definition at line 28 of file Vec3Component.ixx.
value_
|
Definition at line 26 of file Vec3Component.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.