Loading...
Searching...
No Matches
IAnimatedMeshSceneNode.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_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__
#define __I_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__
#include "ISceneNode.h"
#include "IBoneSceneNode.h"
#include "IAnimatedMeshMD2.h"
#include "IAnimatedMeshMD3.h"
namespace irr
{
namespace scene
{
class IShadowVolumeSceneNode;
enum E_JOINT_UPDATE_ON_RENDER
{
EJUOR_NONE = 0,
EJUOR_READ,
EJUOR_CONTROL
};
class IAnimatedMeshSceneNode;
class IAnimationEndCallBack : public virtual IReferenceCounted
{
public:
virtual void OnAnimationEnd(IAnimatedMeshSceneNode* node) = 0;
};
class IAnimatedMeshSceneNode : public ISceneNode
{
public:
IAnimatedMeshSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
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))
: ISceneNode(parent, mgr, id, position, rotation, scale) {}
virtual ~IAnimatedMeshSceneNode() {}
virtual void setCurrentFrame(f32 frame) = 0;
virtual bool setFrameLoop(s32 begin, s32 end) = 0;
virtual void setAnimationSpeed(f32 framesPerSecond) = 0;
virtual f32 getAnimationSpeed() const =0;
virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0;
virtual IBoneSceneNode* getJointNode(const c8* jointName)=0;
virtual IBoneSceneNode* getJointNode(u32 jointID) = 0;
virtual u32 getJointCount() const = 0;
virtual bool setMD2Animation(EMD2_ANIMATION_TYPE anim) = 0;
virtual bool setMD2Animation(const c8* animationName) = 0;
virtual f32 getFrameNr() const = 0;
virtual s32 getStartFrame() const = 0;
virtual s32 getEndFrame() const = 0;
virtual void setLoopMode(bool playAnimationLooped) = 0;
virtual bool getLoopMode() const = 0;
virtual void setAnimationEndCallback(IAnimationEndCallBack* callback=0) = 0;
virtual void setReadOnlyMaterials(bool readonly) = 0;
virtual bool isReadOnlyMaterials() const = 0;
virtual void setMesh(IAnimatedMesh* mesh) = 0;
virtual IAnimatedMesh* getMesh(void) = 0;
virtual const SMD3QuaternionTag* getMD3TagTransformation( const core::stringc & tagname) = 0;
virtual void setJointMode(E_JOINT_UPDATE_ON_RENDER mode)=0;
virtual void setTransitionTime(f32 Time) =0;
virtual void animateJoints(bool CalculateAbsolutePositions=true) = 0;
virtual void setRenderFromIdentity( bool On )=0;
virtual ISceneNode* clone(ISceneNode* newParent=0, ISceneManager* newManager=0) = 0;
};
} // end namespace scene
} // end namespace irr
#endif
IAnimatedMeshMD2.h
IAnimatedMeshMD3.h
IBoneSceneNode.h
ISceneNode.h
irr::IReferenceCounted::IReferenceCounted
IReferenceCounted()
Constructor.
Definition IReferenceCounted.h:46
irr::scene::IAnimatedMesh
Interface for an animated mesh.
Definition IAnimatedMesh.h:63
irr::scene::IAnimatedMeshSceneNode
Scene node capable of displaying an animated mesh and its shadow.
Definition IAnimatedMeshSceneNode.h:54
irr::scene::IAnimatedMeshSceneNode::getStartFrame
virtual s32 getStartFrame() const =0
Returns the current start frame number.
irr::scene::IAnimatedMeshSceneNode::getJointCount
virtual u32 getJointCount() const =0
Gets joint count.
irr::scene::IAnimatedMeshSceneNode::getJointNode
virtual IBoneSceneNode * getJointNode(u32 jointID)=0
same as getJointNode(const c8* jointName), but based on id
irr::scene::IAnimatedMeshSceneNode::getAnimationSpeed
virtual f32 getAnimationSpeed() const =0
Gets the speed with which the animation is played.
irr::scene::IAnimatedMeshSceneNode::addShadowVolumeSceneNode
virtual IShadowVolumeSceneNode * addShadowVolumeSceneNode(const IMesh *shadowMesh=0, s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f)=0
Creates shadow volume scene node as child of this node.
irr::scene::IAnimatedMeshSceneNode::getLoopMode
virtual bool getLoopMode() const =0
returns the current loop mode
irr::scene::IAnimatedMeshSceneNode::setTransitionTime
virtual void setTransitionTime(f32 Time)=0
Sets the transition time in seconds.
irr::scene::IAnimatedMeshSceneNode::setJointMode
virtual void setJointMode(E_JOINT_UPDATE_ON_RENDER mode)=0
Set how the joints should be updated on render.
irr::scene::IAnimatedMeshSceneNode::IAnimatedMeshSceneNode
IAnimatedMeshSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id, 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 IAnimatedMeshSceneNode.h:58
irr::scene::IAnimatedMeshSceneNode::getJointNode
virtual IBoneSceneNode * getJointNode(const c8 *jointName)=0
Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).
irr::scene::IAnimatedMeshSceneNode::animateJoints
virtual void animateJoints(bool CalculateAbsolutePositions=true)=0
animates the joints in the mesh based on the current frame.
irr::scene::IAnimatedMeshSceneNode::setMD2Animation
virtual bool setMD2Animation(const c8 *animationName)=0
Starts a special MD2 animation.
irr::scene::IAnimatedMeshSceneNode::isReadOnlyMaterials
virtual bool isReadOnlyMaterials() const =0
Returns if the scene node should not copy the materials of the mesh but use them in a read only style...
irr::scene::IAnimatedMeshSceneNode::setAnimationSpeed
virtual void setAnimationSpeed(f32 framesPerSecond)=0
Sets the speed with which the animation is played.
irr::scene::IAnimatedMeshSceneNode::getEndFrame
virtual s32 getEndFrame() const =0
Returns the current end frame number.
irr::scene::IAnimatedMeshSceneNode::setFrameLoop
virtual bool setFrameLoop(s32 begin, s32 end)=0
Sets the frame numbers between the animation is looped.
irr::scene::IAnimatedMeshSceneNode::getMesh
virtual IAnimatedMesh * getMesh(void)=0
Returns the current mesh.
irr::scene::IAnimatedMeshSceneNode::setRenderFromIdentity
virtual void setRenderFromIdentity(bool On)=0
render mesh ignoring its transformation.
irr::scene::IAnimatedMeshSceneNode::getFrameNr
virtual f32 getFrameNr() const =0
Returns the currently displayed frame number.
irr::scene::IAnimatedMeshSceneNode::setMD2Animation
virtual bool setMD2Animation(EMD2_ANIMATION_TYPE anim)=0
Starts a default MD2 animation.
irr::scene::IAnimatedMeshSceneNode::setAnimationEndCallback
virtual void setAnimationEndCallback(IAnimationEndCallBack *callback=0)=0
Sets a callback interface which will be called if an animation playback has ended.
irr::scene::IAnimatedMeshSceneNode::getMD3TagTransformation
virtual const SMD3QuaternionTag * getMD3TagTransformation(const core::stringc &tagname)=0
Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetrans...
irr::scene::IAnimatedMeshSceneNode::setLoopMode
virtual void setLoopMode(bool playAnimationLooped)=0
Sets looping mode which is on by default.
irr::scene::IAnimatedMeshSceneNode::~IAnimatedMeshSceneNode
virtual ~IAnimatedMeshSceneNode()
Destructor.
Definition IAnimatedMeshSceneNode.h:65
irr::scene::IAnimatedMeshSceneNode::setReadOnlyMaterials
virtual void setReadOnlyMaterials(bool readonly)=0
Sets if the scene node should not copy the materials of the mesh but use them in a read only style.
irr::scene::IAnimatedMeshSceneNode::setMesh
virtual void setMesh(IAnimatedMesh *mesh)=0
Sets a new mesh.
irr::scene::IAnimatedMeshSceneNode::clone
virtual ISceneNode * clone(ISceneNode *newParent=0, ISceneManager *newManager=0)=0
Creates a clone of this scene node and its children.
irr::scene::IAnimatedMeshSceneNode::setCurrentFrame
virtual void setCurrentFrame(f32 frame)=0
Sets the current frame number.
irr::scene::IAnimationEndCallBack
Callback interface for catching events of ended animations.
Definition IAnimatedMeshSceneNode.h:40
irr::scene::IAnimationEndCallBack::OnAnimationEnd
virtual void OnAnimationEnd(IAnimatedMeshSceneNode *node)=0
Will be called when the animation playback has ended.
irr::scene::IBoneSceneNode
Interface for bones used for skeletal animation.
Definition IBoneSceneNode.h:56
irr::scene::IMesh
Class which holds the geometry of an object.
Definition IMesh.h:24
irr::scene::ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Definition ISceneManager.h:151
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::scene::IShadowVolumeSceneNode
Scene node for rendering a shadow volume into a stencil buffer.
Definition IShadowVolumeSceneNode.h:18
irr::core::vector3df
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
irr::core::stringc
string< c8 > stringc
Typedef for character strings.
Definition irrString.h:1358
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::EMD2_ANIMATION_TYPE
EMD2_ANIMATION_TYPE
Types of standard md2 animations.
Definition IAnimatedMeshMD2.h:17
irr::scene::E_JOINT_UPDATE_ON_RENDER
E_JOINT_UPDATE_ON_RENDER
Definition IAnimatedMeshSceneNode.h:20
irr::scene::EJUOR_NONE
@ EJUOR_NONE
do nothing
Definition IAnimatedMeshSceneNode.h:22
irr::scene::EJUOR_READ
@ EJUOR_READ
get joints positions from the mesh (for attached nodes, etc)
Definition IAnimatedMeshSceneNode.h:25
irr::scene::EJUOR_CONTROL
@ EJUOR_CONTROL
control joint positions in the mesh (eg. ragdolls, or set the animation from animateJoints() )
Definition IAnimatedMeshSceneNode.h:28
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
irr::f32
float f32
32 bit floating point variable.
Definition irrTypes.h:104
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
irr::scene::SMD3QuaternionTag
hold a tag info for connecting meshes
Definition IAnimatedMeshMD3.h:153
- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0