Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
ISceneNodeFactory.hpp
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 nirtcpp/nirtcpp.hpp
4
5#ifndef NIRT_I_SCENE_NODE_FACTORY_HPP_INCLUDED
6#define NIRT_I_SCENE_NODE_FACTORY_HPP_INCLUDED
7
8#include <nirtcpp/core/engine/IReferenceCounted.hpp>
9#include <nirtcpp/core/engine/ESceneNodeTypes.hpp>
10
11namespace nirt
12{
13
14namespace 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
46
48
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 nirt
66
67#endif
Base class of most objects of the Nirtcpp Engine.
Definition IReferenceCounted.hpp:46
Interface for dynamic creation of scene nodes.
Definition ISceneNodeFactory.hpp:28
virtual ESCENE_NODE_TYPE getCreateableSceneNodeType(u32 idx) const =0
returns type of a creatable scene node type
virtual ISceneNode * addSceneNode(ESCENE_NODE_TYPE type, ISceneNode *parent=0)=0
adds a scene node to the scene graph based on its type id
virtual ISceneNode * addSceneNode(const c8 *typeName, ISceneNode *parent=0)=0
adds a scene node to the scene graph based on its type name
virtual const c8 * getCreateableSceneNodeTypeName(ESCENE_NODE_TYPE type) const =0
returns type name of a creatable scene node type
virtual const c8 * getCreateableSceneNodeTypeName(u32 idx) const =0
returns type name of a creatable scene node type by index
virtual u32 getCreatableSceneNodeTypeCount() const =0
returns amount of scene node types this factory is able to create
Scene node interface.
Definition ISceneNode.hpp:43
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
Definition ESceneNodeTypes.hpp:20
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64
char c8
8 bit character variable.
Definition irrTypes.hpp:37

Nirtcpp    @cppfx.xyz

Utxcpp    utx::print