Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
IBoneSceneNode.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2010 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_BONE_SCENE_NODE_H_INCLUDED__
6 #define __I_BONE_SCENE_NODE_H_INCLUDED__
7 
8 #include "ISceneNode.h"
9 
10 namespace irr
11 {
12 namespace scene
13 {
14 
17  {
20 
23 
26 
29 
30  };
31 
33  {
36 
39 
41  };
42 
44  const c8* const BoneAnimationModeNames[] =
45  {
46  "automatic",
47  "animated",
48  "unanimated",
49  0,
50  };
51 
52 
54 
55  class IBoneSceneNode : public ISceneNode
56  {
57  public:
58 
59  IBoneSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id=-1) :
60  ISceneNode(parent, mgr, id),positionHint(-1),scaleHint(-1),rotationHint(-1) { }
61 
63 
64  virtual const c8* getBoneName() const { return getName(); }
65 
67  virtual u32 getBoneIndex() const = 0;
68 
70 
71  virtual bool setAnimationMode(E_BONE_ANIMATION_MODE mode) = 0;
72 
74  virtual E_BONE_ANIMATION_MODE getAnimationMode() const = 0;
75 
77  virtual const core::aabbox3d<f32>& getBoundingBox() const = 0;
78 
80  //virtual core::matrix4 getRelativeTransformation() const = 0;
81 
83  virtual void OnAnimate(u32 timeMs) =0;
84 
86 
87  virtual void render() { }
88 
90  virtual void setSkinningSpace( E_BONE_SKINNING_SPACE space ) =0;
91 
93  virtual E_BONE_SKINNING_SPACE getSkinningSpace() const =0;
94 
96  virtual void updateAbsolutePositionOfAllChildren()=0;
97 
101  };
102 
103 
104 } // end namespace scene
105 } // end namespace irr
106 
107 #endif
108 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Fri Mar 21 2014 04:40:16 by Doxygen (1.8.1.2)