ObjectFrame
The ObjectFrame class represents a per-NodeObject animation frame used in the animation system. It contains transformation matrices that are applied to ObjectNode instances and supports operations such as inversion, normalization, multiplication, and interpolation. ObjectFrame instances can be created from an ObjectAnimation at a specific time or from an ObjectLocation or cache index. Multiple ObjectFrame instances can be combined to form an animation graph, which is executed on the GPU by the SceneAnimator.
#include <scene/TellusimObjectFrame.h>
Constructors
ObjectFrame()
ObjectFrame(ObjectAnimation &animation, float64_t time, bool loop = true, float64_t from = -Maxf32, float64_t to = Maxf32)
explicit ObjectFrame(ObjectLocation &location)
explicit ObjectFrame(uint32_t index)
Methods
Clear frame.
void clear()
Frame operations.
ObjectFrame inverse()
ObjectFrame normalize()
ObjectFrame copy(const ObjectFrame &frame)
ObjectFrame mul(const ObjectFrame &frame)
ObjectFrame mul(const ObjectFrame &frame, float32_t k)
ObjectFrame lerp(const ObjectFrame &frame, float32_t k)
ObjectFrame lerp(const ObjectFrame &frame_1, const ObjectFrame &frame_2, float32_t k1, float32_t k2)
ObjectFrame lerp(const ObjectFrame &frame_1, const ObjectFrame &frame_2, const ObjectFrame &frame_3, float32_t k0, float32_t k1)
ObjectFrame cache(const ObjectFrame &frame, uint32_t index)
ObjectFrame append(const ObjectFrame &frame)
ObjectFrame operator|=(const ObjectFrame &frame)
ObjectFrame operator*=(const ObjectFrame &frame)
Operators
ObjectFrame operator|(const ObjectFrame &f0, const ObjectFrame &f1)
ObjectFrame operator*(const ObjectFrame &f0, const ObjectFrame &f1)
Functions
Frame operations.
ObjectFrame inverse(const ObjectFrame &frame)
ObjectFrame normalize(const ObjectFrame &frame)
ObjectFrame copy(const ObjectFrame &f0, const ObjectFrame &f1)
ObjectFrame mul(const ObjectFrame &f0, const ObjectFrame &f1)
ObjectFrame mul(const ObjectFrame &f0, const ObjectFrame &f1, float32_t k)
ObjectFrame lerp(const ObjectFrame &f0, const ObjectFrame &f1, float32_t k)
ObjectFrame lerp(const ObjectFrame &f0, const ObjectFrame &f1, const ObjectFrame &f2, float32_t k1, float32_t k2)
ObjectFrame lerp(const ObjectFrame &f0, const ObjectFrame &f1, const ObjectFrame &f2, const ObjectFrame &f3, float32_t k0, float32_t k1)
Structs
Transform
Frame transform.
Variables
Type | Name | Description |
---|---|---|
Vector4f | translate | Node translate and enable flag. |
Quaternionf | rotate | Node rotate. |
Vector4f | scale | Node scale. |