123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef IRR_I_BONE_SCENE_NODE_H_INCLUDED
- #define IRR_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 IRR_OVERRIDE = 0;
-
-
-
- virtual void OnAnimate(u32 timeMs) IRR_OVERRIDE =0;
-
-
- virtual void render() IRR_OVERRIDE { }
-
- 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;
- };
- }
- }
- #endif
|