Skip to main content

MeshJoint

The MeshJoint class represents a skeletal joint within a mesh geometry, used for skeletal animation and skinning. It encapsulates joint metadata, including its name, associated node, transformation matrices (local/global), inverse bind transform, and optional bounding volumes.

#include <format/TellusimMesh.h>

Constructors

explicit MeshJoint(const char *name = nullptr)
explicit MeshJoint(MeshGeometry &geometry, const char *name = nullptr)

Methods

Clear joint.

void clear()

Joint name.

void setName(const char *name)
String getName() const

Joint node.

void setNode(MeshNode &node)
const MeshNode getNode() const
MeshNode getNode()
uint32_t getNodeIndex() const
const Matrix4x3d getLocalTransform() const
const Matrix4x3d getGlobalTransform() const

Joint indices.

void setIndices(MeshIndices &indices)
const MeshIndices getIndices() const
MeshIndices getIndices()

Joint geometry.

void setGeometry(MeshGeometry &geometry, bool check = true)
const MeshGeometry getGeometry() const
MeshGeometry getGeometry()

Joint bound box.

void setBoundBox(BoundBoxf box)
const BoundBoxf getBoundBox() const

Joint bound sphere.

void setBoundSphere(BoundSpheref sphere)
const BoundSpheref getBoundSphere()

Inverse joint transform.

void setITransform(Matrix4x3f itransform)
const Matrix4x3f getITransform() const

Compare joints.

int32_t compare(const MeshJoint &joint) const

Memory usage.

size_t getMemory() const