Castor3D 0.16.0
Multiplatform 3D engine
|
#include <Skeleton.hpp>
Public Member Functions | |
C3D_API | Skeleton (castor::String name, Scene &scene) |
Constructor. | |
C3D_API | ~Skeleton () noexcept override |
Destructor. | |
C3D_API SkeletonNode * | createNode (castor::String name) |
Creates a node. | |
C3D_API BoneNode * | createBone (castor::String name, castor::Matrix4x4f const &inverseTransform) |
Creates a bone. | |
C3D_API SkeletonNode * | findNode (castor::String const &name) const |
Finds a bone from a name. | |
C3D_API SkeletonNode * | getRootNode () const |
C3D_API void | setNodeParent (SkeletonNode &node, SkeletonNode &parent) |
Adds a node to another node's children. | |
C3D_API SkeletonAnimation & | createAnimation (castor::String const &name) |
Creates an animation. | |
C3D_API void | removeAnimation (castor::String const &name) |
Removes an animation. | |
C3D_API void | computeContainers (Mesh &mesh) |
Computes the bounding box and sphere for each bone, for given mesh. | |
castor::Matrix4x4f const & | getGlobalInverseTransform () const |
void | setGlobalInverseTransform (castor::Matrix4x4f const &transform) |
castor::Vector< BoneNode * > const & | getBones () const |
SkeletonNodePtrArray const & | getNodes () const |
size_t | getNodesCount () const |
size_t | getBonesCount () const |
castor::Vector< castor::BoundingBox > const & | getContainers (Mesh &mesh) const |
SceneRPtr | getScene () const |
C3D_API | Skeleton (Skeleton &&rhs)=default |
C3D_API Skeleton & | operator= (Skeleton &&rhs)=delete |
C3D_API | Skeleton (Skeleton const &rhs)=delete |
C3D_API Skeleton & | operator= (Skeleton const &rhs)=delete |
Public Member Functions inherited from castor::NamedBaseT< T > | |
NamedBaseT (T name) noexcept | |
Constructor. | |
T const & | getName () const noexcept |
Retrieves the name. | |
void | rename (T name) noexcept |
Public Member Functions inherited from castor3d::AnimableT< Engine > | |
virtual C3D_API | ~AnimableT () noexcept=default |
void | cleanupAnimations () |
Empties the animations map. | |
bool | hasAnimation () const |
bool | hasAnimation (castor::String const &name) const |
Animation const & | getAnimation (castor::String const &name) const |
Retrieves an animation. | |
Animation & | getAnimation (castor::String const &name) |
Retrieves an animation. | |
void | addAnimation (AnimationPtr animation) |
Adds an animation. | |
AnimationsMap const & | getAnimations () const |
Public Member Functions inherited from castor::OwnedBy< Owner > | |
Owner * | getOwner () const |
Friends | |
class | BinaryWriter< Skeleton > |
class | BinaryParser< Skeleton > |
Additional Inherited Members | |
Protected Types inherited from castor3d::AnimableT< Engine > | |
using | Animation |
using | AnimationPtr |
using | AnimationsMap |
Protected Member Functions inherited from castor3d::AnimableT< Engine > | |
void | doRemoveAnimation (castor::String const &name) |
Removes an animation. | |
AnimationType & | doGetAnimation (castor::String const &name) |
Retrieves an animation. | |
AnimationType const & | doGetAnimation (castor::String const &name) const |
Retrieves an animation. | |
AnimableT (Engine &owner) | |
C3D_API | AnimableT (AnimableT &&rhs) noexcept=default |
C3D_API | AnimableT (AnimableT const &rhs)=delete |
C3D_API AnimableT & | operator= (AnimableT &&rhs) noexcept=delete |
C3D_API AnimableT & | operator= (AnimableT const &rhs)=delete |
Protected Member Functions inherited from castor::OwnedBy< Owner > | |
OwnedBy (Owner &owner) | |
Constructor. | |
Protected Attributes inherited from castor::NamedBaseT< T > | |
T | m_name |
Protected Attributes inherited from castor3d::AnimableT< Engine > | |
AnimationsMap | m_animations |
C3D_API castor3d::Skeleton::Skeleton | ( | castor::String | name, |
Scene & | scene ) |
Constructor.
[in] | name | The skeleton name. |
[in] | scene | The scene. |
|
overridenoexcept |
Destructor.
Computes the bounding box and sphere for each bone, for given mesh.
C3D_API SkeletonAnimation & castor3d::Skeleton::createAnimation | ( | castor::String const & | name | ) |
Creates an animation.
[in] | name | The animation name |
C3D_API BoneNode * castor3d::Skeleton::createBone | ( | castor::String | name, |
castor::Matrix4x4f const & | inverseTransform ) |
Creates a bone.
[in] | name | The bone name. |
[in] | inverseTransform | The transfromation matrix from mesh space to bone space. |
C3D_API SkeletonNode * castor3d::Skeleton::createNode | ( | castor::String | name | ) |
Creates a node.
[in] | name | The node name. |
C3D_API SkeletonNode * castor3d::Skeleton::findNode | ( | castor::String const & | name | ) | const |
Finds a bone from a name.
[in] | name | The bone name. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API SkeletonNode * castor3d::Skeleton::getRootNode | ( | ) | const |
|
inline |
C3D_API void castor3d::Skeleton::removeAnimation | ( | castor::String const & | name | ) |
Removes an animation.
[in] | name | The animation name |
|
inline |
C3D_API void castor3d::Skeleton::setNodeParent | ( | SkeletonNode & | node, |
SkeletonNode & | parent ) |
Adds a node to another node's children.
[in] | node | The node. |
[in] | parent | The parent bone. |
|
friend |
|
friend |