Loading...
Searching...
No Matches
IBoneSceneNode.h
Go to the documentation of this file.
// Copyright (C) 2002-2012 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_BONE_SCENE_NODE_H_INCLUDED__
#define __I_BONE_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h"
namespace irr
{
namespace scene
{
enum E_BONE_ANIMATION_MODE
{
EBAM_AUTOMATIC=0,
EBAM_ANIMATED,
EBAM_UNANIMATED,
EBAM_COUNT
};
enum E_BONE_SKINNING_SPACE
{
EBSS_LOCAL=0,
EBSS_GLOBAL,
EBSS_COUNT
};
const c8* const BoneAnimationModeNames[] =
{
"automatic",
"animated",
"unanimated",
0,
};
class IBoneSceneNode : public ISceneNode
{
public:
IBoneSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id=-1) :
ISceneNode(parent, mgr, id),positionHint(-1),scaleHint(-1),rotationHint(-1) { }
_IRR_DEPRECATED_ virtual const c8* getBoneName() const { return getName(); }
virtual u32 getBoneIndex() const = 0;
virtual bool setAnimationMode(E_BONE_ANIMATION_MODE mode) = 0;
virtual E_BONE_ANIMATION_MODE getAnimationMode() const = 0;
virtual const core::aabbox3d<f32>& getBoundingBox() const = 0;
//virtual core::matrix4 getRelativeTransformation() const = 0;
virtual void OnAnimate(u32 timeMs) =0;
virtual void render() { }
virtual void setSkinningSpace( E_BONE_SKINNING_SPACE space ) =0;
virtual E_BONE_SKINNING_SPACE getSkinningSpace() const =0;
virtual void updateAbsolutePositionOfAllChildren()=0;
s32 positionHint;
s32 scaleHint;
s32 rotationHint;
};
} // end namespace scene
} // end namespace irr
#endif
ISceneNode.h
irr::core::aabbox3d
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
irr::scene::IBoneSceneNode::setSkinningSpace
virtual void setSkinningSpace(E_BONE_SKINNING_SPACE space)=0
How the relative transformation of the bone is used.
irr::scene::IBoneSceneNode::getBoneName
virtual _IRR_DEPRECATED_ const c8 * getBoneName() const
Get the name of the bone.
Definition IBoneSceneNode.h:64
irr::scene::IBoneSceneNode::IBoneSceneNode
IBoneSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id=-1)
Definition IBoneSceneNode.h:59
irr::scene::IBoneSceneNode::getAnimationMode
virtual E_BONE_ANIMATION_MODE getAnimationMode() const =0
Gets the current animation mode of the bone.
irr::scene::IBoneSceneNode::setAnimationMode
virtual bool setAnimationMode(E_BONE_ANIMATION_MODE mode)=0
Sets the animation mode of the bone.
irr::scene::IBoneSceneNode::OnAnimate
virtual void OnAnimate(u32 timeMs)=0
Returns the relative transformation of the scene node.
irr::scene::IBoneSceneNode::rotationHint
s32 rotationHint
Definition IBoneSceneNode.h:100
irr::scene::IBoneSceneNode::positionHint
s32 positionHint
Definition IBoneSceneNode.h:98
irr::scene::IBoneSceneNode::scaleHint
s32 scaleHint
Definition IBoneSceneNode.h:99
irr::scene::IBoneSceneNode::getSkinningSpace
virtual E_BONE_SKINNING_SPACE getSkinningSpace() const =0
How the relative transformation of the bone is used.
irr::scene::IBoneSceneNode::updateAbsolutePositionOfAllChildren
virtual void updateAbsolutePositionOfAllChildren()=0
Updates the absolute position based on the relative and the parents position.
irr::scene::IBoneSceneNode::getBoneIndex
virtual u32 getBoneIndex() const =0
Get the index of the bone.
irr::scene::IBoneSceneNode::render
virtual void render()
The render method.
Definition IBoneSceneNode.h:87
irr::scene::IBoneSceneNode::getBoundingBox
virtual const core::aabbox3d< f32 > & getBoundingBox() const =0
Get the axis aligned bounding box of this node.
irr::scene::ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Definition ISceneManager.h:151
irr::scene::ISceneNode::getName
virtual const c8 * getName() const
Returns the name of the node.
Definition ISceneNode.h:143
irr::scene::ISceneNode::ISceneNode
ISceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.
Definition ISceneNode.h:45
_IRR_DEPRECATED_
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Definition irrTypes.h:195
irr::scene
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
Definition CDynamicMeshBuffer.h:16
irr::scene::E_BONE_ANIMATION_MODE
E_BONE_ANIMATION_MODE
Enumeration for different bone animation modes.
Definition IBoneSceneNode.h:17
irr::scene::EBAM_COUNT
@ EBAM_COUNT
Not an animation mode, just here to count the available modes.
Definition IBoneSceneNode.h:28
irr::scene::EBAM_ANIMATED
@ EBAM_ANIMATED
The bone is animated by the skin, if it's parent is not animated then animation will resume from this...
Definition IBoneSceneNode.h:22
irr::scene::EBAM_UNANIMATED
@ EBAM_UNANIMATED
The bone is not animated by the skin.
Definition IBoneSceneNode.h:25
irr::scene::EBAM_AUTOMATIC
@ EBAM_AUTOMATIC
The bone is usually animated, unless it's parent is not animated.
Definition IBoneSceneNode.h:19
irr::scene::E_BONE_SKINNING_SPACE
E_BONE_SKINNING_SPACE
Definition IBoneSceneNode.h:33
irr::scene::EBSS_LOCAL
@ EBSS_LOCAL
local skinning, standard
Definition IBoneSceneNode.h:35
irr::scene::EBSS_GLOBAL
@ EBSS_GLOBAL
global skinning
Definition IBoneSceneNode.h:38
irr::scene::EBSS_COUNT
@ EBSS_COUNT
Definition IBoneSceneNode.h:40
irr::scene::BoneAnimationModeNames
const c8 *const BoneAnimationModeNames[]
Names for bone animation modes.
Definition IBoneSceneNode.h:44
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
irr::u32
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
irr::c8
char c8
8 bit character variable.
Definition irrTypes.h:31
irr::s32
signed int s32
32 bit signed variable.
Definition irrTypes.h:66
- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0