arsa  2.7
ISceneNodeFactory.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_SCENE_NODE_FACTORY_H_INCLUDED__
6 #define __I_SCENE_NODE_FACTORY_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "ESceneNodeTypes.h"
10 
11 namespace irr
12 {
13 
14 namespace scene
15 {
16  class ISceneNode;
17 
19 
27  class ISceneNodeFactory : public virtual IReferenceCounted
28  {
29  public:
31 
35  virtual ISceneNode* addSceneNode(ESCENE_NODE_TYPE type, ISceneNode* parent=0) = 0;
36 
38 
42  virtual ISceneNode* addSceneNode(const c8* typeName, ISceneNode* parent=0) = 0;
43 
45  virtual u32 getCreatableSceneNodeTypeCount() const = 0;
46 
48 
50  virtual ESCENE_NODE_TYPE getCreateableSceneNodeType(u32 idx) const = 0;
51 
53 
55  virtual const c8* getCreateableSceneNodeTypeName(u32 idx) const = 0;
56 
58 
60  virtual const c8* getCreateableSceneNodeTypeName(ESCENE_NODE_TYPE type) const = 0;
61  };
62 
63 
64 } // end namespace scene
65 } // end namespace irr
66 
67 #endif
68 
Interface for dynamic creation of scene nodes.
virtual const c8 * getCreateableSceneNodeTypeName(u32 idx) const =0
returns type name of a creatable scene node type by index
char c8
8 bit character variable.
Definition: irrTypes.h:35
Scene node interface.
Definition: ISceneNode.h:40
Everything in the Irrlicht Engine can be found in this namespace.
Definition: CARSADPad.h:6
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
virtual ESCENE_NODE_TYPE getCreateableSceneNodeType(u32 idx) const =0
returns type of a creatable scene node type
virtual u32 getCreatableSceneNodeTypeCount() const =0
returns amount of scene node types this factory is able to create
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
Base class of most objects of the Irrlicht Engine.
GLuint GLuint GLsizei GLenum type
Definition: SDL_opengl.h:1571
virtual ISceneNode * addSceneNode(ESCENE_NODE_TYPE type, ISceneNode *parent=0)=0
adds a scene node to the scene graph based on its type id