Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
IAnimatedMeshSceneNode.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__
6 #define __I_ANIMATED_MESH_SCENE_NODE_H_INCLUDED__
7 
8 #include "ISceneNode.h"
9 #include "IBoneSceneNode.h"
10 #include "IAnimatedMeshMD2.h"
11 #include "IAnimatedMeshMD3.h"
12 
13 namespace irr
14 {
15 namespace scene
16 {
17  class IShadowVolumeSceneNode;
18 
20  {
23 
26 
29  };
30 
31 
32  class IAnimatedMeshSceneNode;
33 
35 
40  {
41  public:
42 
44 
47  virtual void OnAnimationEnd(IAnimatedMeshSceneNode* node) = 0;
48  };
49 
51 
54  {
55  public:
56 
59  const core::vector3df& position = core::vector3df(0,0,0),
60  const core::vector3df& rotation = core::vector3df(0,0,0),
61  const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f))
62  : ISceneNode(parent, mgr, id, position, rotation, scale) {}
63 
66 
68 
72  virtual void setCurrentFrame(f32 frame) = 0;
73 
75 
79  virtual bool setFrameLoop(s32 begin, s32 end) = 0;
80 
82 
83  virtual void setAnimationSpeed(f32 framesPerSecond) = 0;
84 
86 
87  virtual f32 getAnimationSpeed() const =0;
88 
90 
107  virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
108  s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0;
109 
110 
112 
126  virtual IBoneSceneNode* getJointNode(const c8* jointName)=0;
127 
129  virtual IBoneSceneNode* getJointNode(u32 jointID) = 0;
130 
132 
133  virtual u32 getJointCount() const = 0;
134 
136 
143  virtual bool setMD2Animation(EMD2_ANIMATION_TYPE anim) = 0;
144 
146 
158  virtual bool setMD2Animation(const c8* animationName) = 0;
159 
161  virtual f32 getFrameNr() const = 0;
163  virtual s32 getStartFrame() const = 0;
165  virtual s32 getEndFrame() const = 0;
166 
168 
169  virtual void setLoopMode(bool playAnimationLooped) = 0;
170 
172 
173  virtual bool getLoopMode() const = 0;
174 
176 
179  virtual void setAnimationEndCallback(IAnimationEndCallBack* callback=0) = 0;
180 
182 
185  virtual void setReadOnlyMaterials(bool readonly) = 0;
186 
188  virtual bool isReadOnlyMaterials() const = 0;
189 
191  virtual void setMesh(IAnimatedMesh* mesh) = 0;
192 
194  virtual IAnimatedMesh* getMesh(void) = 0;
195 
197  virtual const SMD3QuaternionTag* getMD3TagTransformation( const core::stringc & tagname) = 0;
198 
200  virtual void setJointMode(E_JOINT_UPDATE_ON_RENDER mode)=0;
201 
203 
206  virtual void setTransitionTime(f32 Time) =0;
207 
209 
210  virtual void animateJoints(bool CalculateAbsolutePositions=true) = 0;
211 
213 
214  virtual void setRenderFromIdentity( bool On )=0;
215 
217 
220  virtual ISceneNode* clone(ISceneNode* newParent=0, ISceneManager* newManager=0) = 0;
221 
222  };
223 
224 } // end namespace scene
225 } // end namespace irr
226 
227 #endif
228 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Mon May 6 2013 17:41:01 by Doxygen (1.8.3.1)