|
CeresEngine 0.2.0
A game development framework
|
#include <CeresEngine/Scene/SceneObject.hpp>
Public Member Functions | |
| const Vector3 & | getPosition () const noexcept |
| The entity position. Relative to its parent. | |
| void | setPosition (const Vector3 &position) noexcept |
| The entity position. Relative to its parent. | |
| const Quaternion & | getRotation () const noexcept |
| The entity rotation. Relative to its parent. | |
| void | setRotation (const Quaternion &rotation) noexcept |
| Generates a hash for the provided type. | |
| const Vector3 & | getScale () const noexcept |
| The entity scale. Relative to its parent. | |
| void | setScale (const Vector3 &scale) noexcept |
| The entity scale. Relative to its parent. | |
| Transform | getTransform () const noexcept |
| Computes the entity local transform. | |
| void | setTransform (const Transform &transform) noexcept |
| Sets the object local transform. | |
| Transform | getInverseTransform () const noexcept |
| Computes the entity inverse local transform. | |
| Vector3 | getDirection () const noexcept |
| Computes the direction vector by applying the rotation to the base forward-facing vector. | |
| Vector3 | getWorldPosition () const noexcept |
| The entity position. Relative to its parent. | |
| void | setWorldPosition (const Vector3 &position) noexcept |
| The entity position. Relative to its parent. | |
| Quaternion | getWorldRotation () const noexcept |
| The entity rotation. Relative to its parent. | |
| void | setWorldRotation (const Quaternion &rotation) noexcept |
| Generates a hash for the provided type. | |
| Vector3 | getWorldScale () const noexcept |
| The entity scale. Relative to its parent. | |
| void | setWorldScale (const Vector3 &scale) noexcept |
| The entity scale. Relative to its parent. | |
| Transform | getWorldTransform () const noexcept |
| Computes the entity world transform. | |
| void | setWorldTransform (const Transform &transform) noexcept |
| Sets the object world transform. | |
| Transform | getInverseWorldTransform () const noexcept |
| Computes the entity inverse world transform. | |
| Vector3 | getWorldDirection () const noexcept |
| Computes the direction vector by applying the rotation to the base forward-facing vector. | |
| void | move (const Vector3 &distance) |
Moves the object by the given distance. | |
| void | move (const Vector3 &direction, double distance) |
Moves the object by distance in the given direction. | |
| void | rotate (const Quaternion &quaternion) |
Rotates the object by the given quaternion. | |
| void | rotate (const Vector3 &axis, const Radian &angle) |
Rotates the object angle radians on the given axis. | |
| void | roll (const Radian &angle) |
Rolls the object by angle radians. | |
| void | yaw (const Radian &angle) |
Yaws the object by angle radians. | |
| void | pitch (const Radian &angle) |
Pitches the object by angle radians. | |
| void | turn (const Radian &angle) |
Turns the object by angle radians. | |
| void | scale (const Vector3 &factor) |
Scales the object by the given factor. | |
| void | scale (double factor) |
Scales the object on all axes by the given factor. | |
| void | transform (const Transform &transform) |
| Applies the given transform to the object transform. | |
| void | lookAt (const Vector3 &point) noexcept |
| Points the object front facing vector towards the given point. | |
| void | lookAt (const SceneObject &entity) noexcept |
| Points the object front facing vector towards the given entity position. | |
| Radian | getLocalPitch () const noexcept |
| void | setLocalPitch (const Radian &pitch) noexcept |
| Radian | getLocalYaw () const noexcept |
| void | setLocalYaw (const Radian &yaw) noexcept |
| Radian | getLocalRoll () const noexcept |
| void | setLocalRoll (const Radian &roll) noexcept |
| Radian | getWorldPitch () const noexcept |
| void | setWorldPitch (const Radian &pitch) noexcept |
| Radian | getWorldYaw () const noexcept |
| void | setWorldYaw (const Radian &yaw) noexcept |
| Radian | getWorldRoll () const noexcept |
| void | setWorldRoll (const Radian &roll) noexcept |
| Vector3 | toWorld (const Vector3 &localVector) const noexcept |
Transforms a local coordinates vector localVector into world coordinates. | |
| Vector3 | toLocal (const Vector3 &worldVector) const noexcept |
Transforms a world coordinates vector worldVector into local coordinates. | |
| Facing | getFacing () const noexcept |
| Returns the scene object facing direction vectors in local space. | |
| Vector3 | getFront () const noexcept |
| The object front facing direction vector in local space. | |
| Vector3 | getBack () const noexcept |
| The object back facing direction vector in local space. | |
| Vector3 | getUp () const noexcept |
| The object up facing direction vector in local space. | |
| Vector3 | getDown () const noexcept |
| The object down facing direction vector in local space. | |
| Vector3 | getRight () const noexcept |
| The object right facing direction vector in local space. | |
| Vector3 | getLeft () const noexcept |
| The object left facing direction vector in local space. | |
| Facing | getWorldFacing () const noexcept |
| Returns the scene object facing direction vectors in world space. | |
| Vector3 | getWorldFront () const noexcept |
| The object front facing direction vector in world space. | |
| Vector3 | getWorldBack () const noexcept |
| The object back facing direction vector in world space. | |
| Vector3 | getWorldUp () const noexcept |
| The object up facing direction vector in world space. | |
| Vector3 | getWorldDown () const noexcept |
| The object down facing direction vector in world space. | |
| Vector3 | getWorldRight () const noexcept |
| The object right facing direction vector in world space. | |
| Vector3 | getWorldLeft () const noexcept |
| The object left facing direction vector in world space. | |
Public Member Functions inherited from CeresEngine::Component< T >::Accessor | |
| Accessor (const Entity &entity) | |
Static Public Member Functions | |
| template<typename Processor > | |
| static constexpr void | reflect (Processor &&RTTI) |
| Executes the given processor for every field of the struct. | |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::Component< T >::Accessor | |
| const Entity & | entity |
Protected Types inherited from CeresEngine::Component< T >::Accessor | |
| using | C = TC |
Protected Member Functions inherited from CeresEngine::Component< T >::Accessor | |
| template<typename T > | |
| auto | mutate (T C::*ptr) |
Accesses an element from an existing Component. | |
| template<typename MutatorFunc , typename T > requires (CInvocable<MutatorFunc, T&>) | |
| decltype(auto) | mutate (MutatorFunc &&func, T C::*ptr) |
Accesses an element from an existing Component. | |
| template<typename T1 , typename T2 , typename... Ts> | |
| Tuple< ComponentFieldMutator< T1, C >, ComponentFieldMutator< T2, C >, ComponentFieldMutator< Ts, C >... > | mutate (T1 C::*ptr1, T2 C::*ptr2, Ts C::*... ptrs) |
| TODO Write docs. | |
| template<typename MutatorFunc , typename T1 , typename T2 , typename... Ts> | |
| Tuple< ComponentFieldMutator< T1, C >, ComponentFieldMutator< T2, C >, ComponentFieldMutator< Ts, C >... > | mutate (MutatorFunc &&func, T1 C::*ptr1, T2 C::*ptr2, Ts C::*... ptr) |
| template<typename T > | |
| auto | get (T C::*ptr) |
Accesses an element from an existing Component. | |
| template<typename T1 , typename T2 , typename... Ts> | |
| Tuple< ComponentFieldMutator< T1, C >, ComponentFieldMutator< T2, C >, ComponentFieldMutator< Ts, C >... > | get (T1 C::*ptr1, T2 C::*ptr2, Ts C::*... ptrs) |
Accesses an element from an existing Component. | |
| template<typename T > | |
| const T & | read (const T C::*ptr) const |
Accesses an element from an existing Component. | |
| template<typename T1 , typename T2 , typename... Ts> | |
| Tuple< const T1 &, const T2 &, const Ts &... > | read (const T1 C::*ptr1, const T2 C::*ptr2, const Ts C::*... ptrs) const |
| TODO Write docs. | |
| template<typename T > | |
| const T & | get (const T C::*ptr) const |
Accesses an element from an existing Component. | |
| template<typename T1 , typename T2 , typename... Ts> | |
| Tuple< const T1 &, const T2 &, const Ts &... > | get (const T1 C::*ptr1, const T2 C::*ptr2, const Ts C::*... ptrs) const |
Accesses an element from an existing Component. | |
|
noexcept |
The object back facing direction vector in local space.
|
inlinenoexcept |
Computes the direction vector by applying the rotation to the base forward-facing vector.
|
noexcept |
The object down facing direction vector in local space.
|
noexcept |
Returns the scene object facing direction vectors in local space.
|
noexcept |
The object front facing direction vector in local space.
|
noexcept |
Computes the entity inverse local transform.
|
noexcept |
Computes the entity inverse world transform.
|
noexcept |
The object left facing direction vector in local space.
|
noexcept |
|
noexcept |
|
noexcept |
The entity position. Relative to its parent.
|
noexcept |
The object right facing direction vector in local space.
|
noexcept |
The entity rotation. Relative to its parent.
The entity scale. Relative to its parent.
|
noexcept |
Computes the entity local transform.
|
noexcept |
The object up facing direction vector in local space.
|
noexcept |
The object back facing direction vector in world space.
|
inlinenoexcept |
Computes the direction vector by applying the rotation to the base forward-facing vector.
|
noexcept |
The object down facing direction vector in world space.
|
noexcept |
Returns the scene object facing direction vectors in world space.
|
noexcept |
The object front facing direction vector in world space.
|
noexcept |
The object left facing direction vector in world space.
|
noexcept |
|
noexcept |
The entity position. Relative to its parent.
|
noexcept |
The object right facing direction vector in world space.
|
noexcept |
|
noexcept |
The entity rotation. Relative to its parent.
|
noexcept |
The entity scale. Relative to its parent.
|
noexcept |
Computes the entity world transform.
|
noexcept |
The object up facing direction vector in world space.
|
noexcept |
|
noexcept |
Points the object front facing vector towards the given entity position.
| entity | The entity to look at. |
Points the object front facing vector towards the given point.
| point | The point to look at in world space. |
Moves the object by distance in the given direction.
Moves the object by the given distance.
Pitches the object by angle radians.
|
inlinestaticconstexpr |
Executes the given processor for every field of the struct.
| RTTI | The processor to be ran for every field. |
Rolls the object by angle radians.
Rotates the object by the given quaternion.
| void CeresEngine::TransformComponent::Accessor::rotate | ( | const Vector3 & | axis, |
| const Radian & | angle | ||
| ) |
Rotates the object angle radians on the given axis.
Scales the object by the given factor.
Scales the object on all axes by the given factor.
| pitch | The object pitch angle (rotation along the X axis) |
| roll | The object roll angle (rotation along the Z axis) |
| yaw | The object yaw angle (rotation along the Y axis) |
The entity position. Relative to its parent.
Generates a hash for the provided type.
Type must have a std::hash specialization.
| T | the type to be hashed |
| v | The value to be hashed |
The entity scale. Relative to its parent.
|
noexcept |
Sets the object local transform.
| transform | The object's local transform. |
| pitch | The object pitch angle (rotation along the X axis) |
|
noexcept |
The entity position. Relative to its parent.
| roll | The object roll angle (rotation along the Z axis) |
|
noexcept |
Generates a hash for the provided type.
Type must have a std::hash specialization.
| T | the type to be hashed |
| v | The value to be hashed |
The entity scale. Relative to its parent.
|
noexcept |
Sets the object world transform.
| transform | The object's world transform. |
| yaw | The object yaw angle (rotation along the Y axis) |
|
noexcept |
Transforms a world coordinates vector worldVector into local coordinates.
| worldVector | The world vector to be transformed |
|
noexcept |
Transforms a local coordinates vector localVector into world coordinates.
| localVector | The local vector to be transformed |
Applies the given transform to the object transform.
Turns the object by angle radians.
Yaws the object by angle radians.