| Irrlicht 3D Engine |

IMeshSceneNode.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_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 } // end namespace scene
    00075 } // end namespace irr
    00076
    00077
    00078 #endif
    00079