Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

irr::scene::IAnimatedMeshSceneNode Class Reference

Scene node capable of displaying an animated mesh and its shadow. More...

#include <IAnimatedMeshSceneNode.h>

Inheritance diagram for irr::scene::IAnimatedMeshSceneNode:

irr::scene::ISceneNode irr::io::IAttributeExchangingObject irr::IReferenceCounted List of all members.

Public Member Functions

virtual IShadowVolumeSceneNodeaddShadowVolumeSceneNode (s32 id=-1, bool zfailmethod=true, f32 infinity=10000.0f)=0
 Creates shadow volume scene node as child of this node.
virtual void animateJoints (bool CalculateAbsolutePositions=true)=0
 animates the joints in the mesh based on the current frame.
virtual s32 getEndFrame () const =0
 Returns the current end frame number.
virtual f32 getFrameNr () const =0
 Returns the current displayed frame number.
virtual IBoneSceneNodegetJointNode (u32 jointID)=0
 same as getJointNode(const c8* jointName), but based on id
virtual IBoneSceneNodegetJointNode (const c8 *jointName)=0
 Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).
virtual const SMD3QuaterionTaggetMD3TagTransformation (const core::stringc &tagname)=0
 Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetransformation if it's a normal scenenode.
virtual IAnimatedMeshgetMesh (void)=0
 Returns the current mesh.
virtual ISceneNodegetMS3DJointNode (const c8 *jointName)=0
 Deprecated command, please use getJointNode.
virtual s32 getStartFrame () const =0
 Returns the current start frame number.
virtual ISceneNodegetXJointNode (const c8 *jointName)=0
 Deprecated command, please use getJointNode.
 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.
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.
virtual void setAnimationEndCallback (IAnimationEndCallBack *callback=0)=0
 Sets a callback interface which will be called if an animation playback has ended.
virtual void setAnimationSpeed (f32 framesPerSecond)=0
 Sets the speed with witch the animation is played.
virtual void setCurrentFrame (f32 frame)=0
 Sets the current frame number.
virtual bool setFrameLoop (s32 begin, s32 end)=0
 Sets the frame numbers between the animation is looped.
virtual void setJointMode (E_JOINT_UPDATE_ON_RENDER mode)=0
 Set how the joints should be updated on render.
virtual void setLoopMode (bool playAnimationLooped)=0
 Sets looping mode which is on by default.
virtual bool setMD2Animation (const c8 *animationName)=0
 Starts a special MD2 animation.
virtual bool setMD2Animation (EMD2_ANIMATION_TYPE anim)=0
 Starts a default MD2 animation.
virtual void setMesh (IAnimatedMesh *mesh)=0
 Sets a new mesh.
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.
virtual void setRenderFromIdentity (bool On)=0
 render mesh ignoring it's transformation.
virtual void setTransitionTime (f32 Time)=0
 Sets the transition time in seconds.
virtual ~IAnimatedMeshSceneNode ()
 Destructor.

Detailed Description

Scene node capable of displaying an animated mesh and its shadow.

The shadow is optional: If a shadow should be displayed too, just invoke the IAnimatedMeshSceneNode::createShadowVolumeSceneNode().

Definition at line 57 of file IAnimatedMeshSceneNode.h.


Constructor & Destructor Documentation

irr::scene::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)
[inline]
 

Constructor.

Definition at line 62 of file IAnimatedMeshSceneNode.h.

virtual irr::scene::IAnimatedMeshSceneNode::~IAnimatedMeshSceneNode  )  [inline, virtual]
 

Destructor.

Definition at line 69 of file IAnimatedMeshSceneNode.h.


Member Function Documentation

virtual IShadowVolumeSceneNode* irr::scene::IAnimatedMeshSceneNode::addShadowVolumeSceneNode s32  id = -1,
bool  zfailmethod = true,
f32  infinity = 10000.0f
[pure virtual]
 

Creates shadow volume scene node as child of this node.

The shadow can be rendered using the ZPass or the zfail method. ZPass is a little bit faster because the shadow volume creation is easier, but with this method there occur ugly looking artifacs when the camera is inside the shadow volume. These error do not occur with the ZFail method.

Parameters:
id,: Id of the shadow scene node. This id can be used to identify the node later.
zfailmethod,: If set to true, the shadow will use the zfail method, if not, zpass is used.
infinity,: Value used by the shadow volume algorithm to scale the shadow volume.
Returns:
Pointer to the created shadow scene node. This pointer should not be dropped. See IReferenceCounted::drop() for more information.

virtual void irr::scene::IAnimatedMeshSceneNode::animateJoints bool  CalculateAbsolutePositions = true  )  [pure virtual]
 

animates the joints in the mesh based on the current frame.

Also takes in to account transitions.

virtual s32 irr::scene::IAnimatedMeshSceneNode::getEndFrame  )  const [pure virtual]
 

Returns the current end frame number.

virtual f32 irr::scene::IAnimatedMeshSceneNode::getFrameNr  )  const [pure virtual]
 

Returns the current displayed frame number.

virtual IBoneSceneNode* irr::scene::IAnimatedMeshSceneNode::getJointNode u32  jointID  )  [pure virtual]
 

same as getJointNode(const c8* jointName), but based on id

virtual IBoneSceneNode* irr::scene::IAnimatedMeshSceneNode::getJointNode const c8 jointName  )  [pure virtual]
 

Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).

With this method it is possible to attach scene nodes to joints for example possible to attach a weapon to the left hand of an animated model. This example shows how:

                ISceneNode* hand =
                        yourAnimatedMeshSceneNode->getJointNode("LeftHand");
                hand->addChild(weaponSceneNode);
Please note that the joint returned by this method may not exist before this call and the joints in the node were created by it.
Parameters:
jointName,: Name of the joint.
Returns:
Pointer to the scene node which represents the joint with the specified name. Returns 0 if the contained mesh is not an skinned mesh or the name of the joint could not be found.

virtual const SMD3QuaterionTag& irr::scene::IAnimatedMeshSceneNode::getMD3TagTransformation const core::stringc tagname  )  [pure virtual]
 

Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetransformation if it's a normal scenenode.

virtual IAnimatedMesh* irr::scene::IAnimatedMeshSceneNode::getMesh void   )  [pure virtual]
 

Returns the current mesh.

virtual ISceneNode* irr::scene::IAnimatedMeshSceneNode::getMS3DJointNode const c8 jointName  )  [pure virtual]
 

Deprecated command, please use getJointNode.

virtual s32 irr::scene::IAnimatedMeshSceneNode::getStartFrame  )  const [pure virtual]
 

Returns the current start frame number.

virtual ISceneNode* irr::scene::IAnimatedMeshSceneNode::getXJointNode const c8 jointName  )  [pure virtual]
 

Deprecated command, please use getJointNode.

virtual bool irr::scene::IAnimatedMeshSceneNode::isReadOnlyMaterials  )  const [pure virtual]
 

Returns if the scene node should not copy the materials of the mesh but use them in a read only style.

virtual void irr::scene::IAnimatedMeshSceneNode::setAnimationEndCallback IAnimationEndCallBack callback = 0  )  [pure virtual]
 

Sets a callback interface which will be called if an animation playback has ended.

Set this to 0 to disable the callback again. Please note that this will only be called when in non looped mode, see IAnimatedMeshSceneNode::setLoopMode().

virtual void irr::scene::IAnimatedMeshSceneNode::setAnimationSpeed f32  framesPerSecond  )  [pure virtual]
 

Sets the speed with witch the animation is played.

Parameters:
framesPerSecond,: Frames per second played.

virtual void irr::scene::IAnimatedMeshSceneNode::setCurrentFrame f32  frame  )  [pure virtual]
 

Sets the current frame number.

From now on the animation is played from this frame.

Parameters:
frame,: Number of the frame to let the animation be started from. The frame number must be a valid frame number of the IMesh used by this scene node. Set IAnimatedMesh::getMesh() for details.

virtual bool irr::scene::IAnimatedMeshSceneNode::setFrameLoop s32  begin,
s32  end
[pure virtual]
 

Sets the frame numbers between the animation is looped.

The default is 0 - MaximalFrameCount of the mesh.

Parameters:
begin,: Start frame number of the loop.
end,: End frame number of the loop.
Returns:
True if successful, false if not.

virtual void irr::scene::IAnimatedMeshSceneNode::setJointMode E_JOINT_UPDATE_ON_RENDER  mode  )  [pure virtual]
 

Set how the joints should be updated on render.

virtual void irr::scene::IAnimatedMeshSceneNode::setLoopMode bool  playAnimationLooped  )  [pure virtual]
 

Sets looping mode which is on by default.

If set to false, animations will not be played looped.

virtual bool irr::scene::IAnimatedMeshSceneNode::setMD2Animation const c8 animationName  )  [pure virtual]
 

Starts a special MD2 animation.

With this method it is easily possible to start a Run, Attack, Die or whatever animation, if the mesh contained in this scene node is an md2 mesh. Otherwise, nothing happens. This method uses a character string to identify the animation. If the animation is a standard md2 animation, you might want to start this animation with the EMD2_ANIMATION_TYPE enumeration instead.

Parameters:
animationName,: Name of the animation which should be played.
Returns:
Returns true if successful, and false if not, for example if the mesh in the scene node is not an md2 mesh, or no animation with this name could be found.

virtual bool irr::scene::IAnimatedMeshSceneNode::setMD2Animation EMD2_ANIMATION_TYPE  anim  )  [pure virtual]
 

Starts a default MD2 animation.

With this method it is easily possible to start a Run, Attack, Die or whatever animation, if the mesh contained in this scene node is an md2 mesh. Otherwise, nothing happens.

Parameters:
anim,: An MD2 animation type, which should be played, for example EMAT_STAND for the standing animation.
Returns:
True if successful, and false if not, for example if the mesh in the scene node is not a md2 mesh.

virtual void irr::scene::IAnimatedMeshSceneNode::setMesh IAnimatedMesh mesh  )  [pure virtual]
 

Sets a new mesh.

virtual void irr::scene::IAnimatedMeshSceneNode::setReadOnlyMaterials bool  readonly  )  [pure virtual]
 

Sets if the scene node should not copy the materials of the mesh but use them in a read only style.

virtual void irr::scene::IAnimatedMeshSceneNode::setRenderFromIdentity bool  On  )  [pure virtual]
 

render mesh ignoring it's transformation.

Used with ragdolls. Culling is unaffected.

virtual void irr::scene::IAnimatedMeshSceneNode::setTransitionTime f32  Time  )  [pure virtual]
 

Sets the transition time in seconds.

Note: This needs to enable joints, and setJointmode set to EJUOR_CONTROL. You must call animateJoints(), or the mesh will not animate.


The documentation for this class was generated from the following file:
The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated on Sun Jun 1 07:59:18 2008 by Doxygen (1.4.2)