Irrlicht 3D Engine
IMeshSceneNode.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_MESH_SCENE_NODE_H_INCLUDED__
6 #define __I_MESH_SCENE_NODE_H_INCLUDED__
7 
8 #include "ISceneNode.h"
9 
10 namespace irr
11 {
12 namespace scene
13 {
14 
15 class IShadowVolumeSceneNode;
16 class IMesh;
17 
18 
20 class IMeshSceneNode : public ISceneNode
21 {
22 public:
23 
25 
28  const core::vector3df& position = core::vector3df(0,0,0),
29  const core::vector3df& rotation = core::vector3df(0,0,0),
30  const core::vector3df& scale = core::vector3df(1,1,1))
31  : ISceneNode(parent, mgr, id, position, rotation, scale) {}
32 
34 
35  virtual void setMesh(IMesh* mesh) = 0;
36 
38 
39  virtual IMesh* getMesh(void) = 0;
40 
42 
59  virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
60  s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0;
61 
63 
66  virtual void setReadOnlyMaterials(bool readonly) = 0;
67 
69 
71  virtual bool isReadOnlyMaterials() const = 0;
72 };
73 
74 } // end namespace scene
75 } // end namespace irr
76 
77 
78 #endif
79 
IMeshSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1, 1, 1))
Constructor.
float f32
32 bit floating point variable.
Definition: irrTypes.h:108
Scene node for rendering a shadow volume into a stencil buffer.
Scene node interface.
Definition: ISceneNode.h:40
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
Class which holds the geometry of an object.
Definition: IMesh.h:71
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
virtual IMesh * getMesh(void)=0
Get the currently defined mesh for display.
virtual IShadowVolumeSceneNode * addShadowVolumeSceneNode(const IMesh *shadowMesh=0, s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f)=0
Creates shadow volume scene node as child of this node.
virtual bool isReadOnlyMaterials() const =0
Check if the scene node should not copy the materials of the mesh but use them in a read only style.
virtual void setReadOnlyMaterials(bool readonly)=0
Sets if the scene node should not copy the materials of the mesh but use them in a read only style.
The Scene Manager manages scene nodes, mesh resources, cameras and all the other stuff.
virtual void setMesh(IMesh *mesh)=0
Sets a new mesh to display.
A scene node displaying a static mesh.