Irrlicht 3D Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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