| Irrlicht 3D Engine |

ISceneNodeFactory.h
Go to the documentation of this file.

    00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_SCENE_NODE_FACTORY_H_INCLUDED__
    00006 #define __I_SCENE_NODE_FACTORY_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "ESceneNodeTypes.h"
    00010
    00011 namespace irr
    00012 {
    00013
    00014 namespace scene
    00015 {
    00016     class ISceneNode;
    00017
    00019
    00027     class ISceneNodeFactory : public virtual IReferenceCounted
    00028     {
    00029     public:
    00031
    00035         virtual ISceneNode* addSceneNode(ESCENE_NODE_TYPE type, ISceneNode* parent=0) = 0;
    00036
    00038
    00042         virtual ISceneNode* addSceneNode(const c8* typeName, ISceneNode* parent=0) = 0;
    00043
    00045         virtual u32 getCreatableSceneNodeTypeCount() const = 0;
    00046
    00048
    00050         virtual ESCENE_NODE_TYPE getCreateableSceneNodeType(u32 idx) const = 0;
    00051
    00053
    00055         virtual const c8* getCreateableSceneNodeTypeName(u32 idx) const = 0;
    00056
    00058
    00060         virtual const c8* getCreateableSceneNodeTypeName(ESCENE_NODE_TYPE type) const = 0;
    00061     };
    00062
    00063
    00064 } // end namespace scene
    00065 } // end namespace irr
    00066
    00067 #endif
    00068