Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef __I_MESH_SCENE_NODE_H_INCLUDED__
00006 #define __I_MESH_SCENE_NODE_H_INCLUDED__
00007
00008 #include "ISceneNode.h"
00009
00010 namespace irr
00011 {
00012 namespace scene
00013 {
00014
00015 class IShadowVolumeSceneNode;
00016 class IMesh;
00017
00018
00020 class IMeshSceneNode : public ISceneNode
00021 {
00022 public:
00023
00025
00027 IMeshSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
00028 const core::vector3df& position = core::vector3df(0,0,0),
00029 const core::vector3df& rotation = core::vector3df(0,0,0),
00030 const core::vector3df& scale = core::vector3df(1,1,1))
00031 : ISceneNode(parent, mgr, id, position, rotation, scale) {}
00032
00034
00035 virtual void setMesh(IMesh* mesh) = 0;
00036
00038
00039 virtual IMesh* getMesh(void) = 0;
00040
00042
00059 virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
00060 s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0;
00061
00063
00066 virtual void setReadOnlyMaterials(bool readonly) = 0;
00067
00069
00071 virtual bool isReadOnlyMaterials() const = 0;
00072 };
00073
00074 }
00075 }
00076
00077
00078 #endif
00079