diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/irrlicht-1.8/include/ISceneNodeAnimatorFactory.h | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/libraries/irrlicht-1.8/include/ISceneNodeAnimatorFactory.h b/libraries/irrlicht-1.8/include/ISceneNodeAnimatorFactory.h index c3f5b3c..8afe3ef 100644 --- a/libraries/irrlicht-1.8/include/ISceneNodeAnimatorFactory.h +++ b/libraries/irrlicht-1.8/include/ISceneNodeAnimatorFactory.h | |||
@@ -1,69 +1,69 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt |
2 | // This file is part of the "Irrlicht Engine". | 2 | // This file is part of the "Irrlicht Engine". |
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h |
4 | 4 | ||
5 | #ifndef __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__ | 5 | #ifndef __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__ |
6 | #define __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__ | 6 | #define __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__ |
7 | 7 | ||
8 | #include "IReferenceCounted.h" | 8 | #include "IReferenceCounted.h" |
9 | #include "ESceneNodeAnimatorTypes.h" | 9 | #include "ESceneNodeAnimatorTypes.h" |
10 | 10 | ||
11 | namespace irr | 11 | namespace irr |
12 | { | 12 | { |
13 | namespace scene | 13 | namespace scene |
14 | { | 14 | { |
15 | class ISceneNode; | 15 | class ISceneNode; |
16 | class ISceneNodeAnimator; | 16 | class ISceneNodeAnimator; |
17 | 17 | ||
18 | //! Interface for dynamic creation of scene node animators | 18 | //! Interface for dynamic creation of scene node animators |
19 | /** To be able to add custom scene node animators to Irrlicht and to make it possible for the | 19 | /** To be able to add custom scene node animators to Irrlicht and to make it possible for the |
20 | scene manager to save and load those external animators, simply implement this | 20 | scene manager to save and load those external animators, simply implement this |
21 | interface and register it in you scene manager via ISceneManager::registerSceneNodeAnimatorFactory. | 21 | interface and register it in you scene manager via ISceneManager::registerSceneNodeAnimatorFactory. |
22 | Note: When implementing your own scene node factory, don't call ISceneNodeManager::grab() to | 22 | Note: When implementing your own scene node factory, don't call ISceneNodeManager::grab() to |
23 | increase the reference counter of the scene node manager. This is not necessary because the | 23 | increase the reference counter of the scene node manager. This is not necessary because the |
24 | scene node manager will grab() the factory anyway, and otherwise cyclic references will | 24 | scene node manager will grab() the factory anyway, and otherwise cyclic references will |
25 | be created and the scene manager and all its nodes won't get deallocated. | 25 | be created and the scene manager and all its nodes won't get deallocated. |
26 | */ | 26 | */ |
27 | class ISceneNodeAnimatorFactory : public virtual IReferenceCounted | 27 | class ISceneNodeAnimatorFactory : public virtual IReferenceCounted |
28 | { | 28 | { |
29 | public: | 29 | public: |
30 | 30 | ||
31 | //! creates a scene node animator based on its type id | 31 | //! creates a scene node animator based on its type id |
32 | /** \param type: Type of the scene node animator to add. | 32 | /** \param type: Type of the scene node animator to add. |
33 | \param target: Target scene node of the new animator. | 33 | \param target: Target scene node of the new animator. |
34 | \return Returns pointer to the new scene node animator or null if not successful. You need to | 34 | \return Returns pointer to the new scene node animator or null if not successful. You need to |
35 | drop this pointer after calling this, see IReferenceCounted::drop() for details. */ | 35 | drop this pointer after calling this, see IReferenceCounted::drop() for details. */ |
36 | virtual ISceneNodeAnimator* createSceneNodeAnimator(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target) = 0; | 36 | virtual ISceneNodeAnimator* createSceneNodeAnimator(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target) = 0; |
37 | 37 | ||
38 | //! creates a scene node animator based on its type name | 38 | //! creates a scene node animator based on its type name |
39 | /** \param typeName: Type of the scene node animator to add. | 39 | /** \param typeName: Type of the scene node animator to add. |
40 | \param target: Target scene node of the new animator. | 40 | \param target: Target scene node of the new animator. |
41 | \return Returns pointer to the new scene node animator or null if not successful. You need to | 41 | \return Returns pointer to the new scene node animator or null if not successful. You need to |
42 | drop this pointer after calling this, see IReferenceCounted::drop() for details. */ | 42 | drop this pointer after calling this, see IReferenceCounted::drop() for details. */ |
43 | virtual ISceneNodeAnimator* createSceneNodeAnimator(const c8* typeName, ISceneNode* target) = 0; | 43 | virtual ISceneNodeAnimator* createSceneNodeAnimator(const c8* typeName, ISceneNode* target) = 0; |
44 | 44 | ||
45 | //! returns amount of scene node animator types this factory is able to create | 45 | //! returns amount of scene node animator types this factory is able to create |
46 | virtual u32 getCreatableSceneNodeAnimatorTypeCount() const = 0; | 46 | virtual u32 getCreatableSceneNodeAnimatorTypeCount() const = 0; |
47 | 47 | ||
48 | //! returns type of a createable scene node animator type | 48 | //! returns type of a createable scene node animator type |
49 | /** \param idx: Index of scene node animator type in this factory. Must be a value between 0 and | 49 | /** \param idx: Index of scene node animator type in this factory. Must be a value between 0 and |
50 | getCreatableSceneNodeTypeCount() */ | 50 | getCreatableSceneNodeTypeCount() */ |
51 | virtual ESCENE_NODE_ANIMATOR_TYPE getCreateableSceneNodeAnimatorType(u32 idx) const = 0; | 51 | virtual ESCENE_NODE_ANIMATOR_TYPE getCreateableSceneNodeAnimatorType(u32 idx) const = 0; |
52 | 52 | ||
53 | //! returns type name of a createable scene node animator type | 53 | //! returns type name of a createable scene node animator type |
54 | /** \param idx: Index of scene node animator type in this factory. Must be a value between 0 and | 54 | /** \param idx: Index of scene node animator type in this factory. Must be a value between 0 and |
55 | getCreatableSceneNodeAnimatorTypeCount() */ | 55 | getCreatableSceneNodeAnimatorTypeCount() */ |
56 | virtual const c8* getCreateableSceneNodeAnimatorTypeName(u32 idx) const = 0; | 56 | virtual const c8* getCreateableSceneNodeAnimatorTypeName(u32 idx) const = 0; |
57 | 57 | ||
58 | //! returns type name of a createable scene node animator type | 58 | //! returns type name of a createable scene node animator type |
59 | /** \param type: Type of scene node animator. | 59 | /** \param type: Type of scene node animator. |
60 | \return: Returns name of scene node animator type if this factory can create the type, otherwise 0. */ | 60 | \return: Returns name of scene node animator type if this factory can create the type, otherwise 0. */ |
61 | virtual const c8* getCreateableSceneNodeAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) const = 0; | 61 | virtual const c8* getCreateableSceneNodeAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) const = 0; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | 64 | ||
65 | } // end namespace scene | 65 | } // end namespace scene |
66 | } // end namespace irr | 66 | } // end namespace irr |
67 | 67 | ||
68 | #endif | 68 | #endif |
69 | 69 | ||