Skip to main content

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

TypeNameDescription
Vector4ftranslateNode translate and enable flag.
QuaternionfrotateNode rotate.
Vector4fscaleNode scale.