Irrlicht 3D Engine
ILightSceneNode.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_LIGHT_SCENE_NODE_H_INCLUDED__
00006 #define __I_LIGHT_SCENE_NODE_H_INCLUDED__
00007 
00008 #include "ISceneNode.h"
00009 #include "SLight.h"
00010 
00011 namespace irr
00012 {
00013 namespace scene
00014 {
00015 
00017 
00022 class ILightSceneNode : public ISceneNode
00023 {
00024 public:
00025 
00027     ILightSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
00028         const core::vector3df& position = core::vector3df(0,0,0))
00029         : ISceneNode(parent, mgr, id, position) {}
00030 
00032 
00033     virtual void setLightData(const video::SLight& light) = 0;
00034 
00036 
00037     virtual const video::SLight& getLightData() const = 0;
00038 
00040 
00041     virtual video::SLight& getLightData() = 0;
00042 
00044 
00047     virtual void setVisible(bool isVisible) = 0;
00048 
00050 
00055     virtual void setRadius(f32 radius) = 0;
00056 
00058 
00059     virtual f32 getRadius() const = 0;
00060 
00062 
00063     virtual void setLightType(video::E_LIGHT_TYPE type) = 0;
00064 
00066 
00067     virtual video::E_LIGHT_TYPE getLightType() const = 0;
00068 
00070 
00074     virtual void enableCastShadow(bool shadow=true) = 0;
00075 
00077 
00078     virtual bool getCastShadow() const = 0;
00079 };
00080 
00081 } // end namespace scene
00082 } // end namespace irr
00083 
00084 
00085 #endif
00086