2008-05-22 04:51:37 -07:00
|
|
|
// Copyright (C) 2002-2008 Nikolaus Gebhardt
|
2007-05-20 11:03:49 -07:00
|
|
|
// This file is part of the "Irrlicht Engine".
|
|
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
|
|
|
|
#ifndef __I_LIGHT_SCENE_NODE_H_INCLUDED__
|
|
|
|
#define __I_LIGHT_SCENE_NODE_H_INCLUDED__
|
|
|
|
|
|
|
|
#include "ISceneNode.h"
|
|
|
|
#include "SLight.h"
|
|
|
|
|
|
|
|
namespace irr
|
|
|
|
{
|
|
|
|
namespace scene
|
|
|
|
{
|
|
|
|
|
2008-05-22 04:51:37 -07:00
|
|
|
//! Scene node which is a dynamic light.
|
2008-03-02 06:28:48 -08:00
|
|
|
/** You can switch the light on and off by making it visible or not. It can be
|
2008-05-22 04:51:37 -07:00
|
|
|
animated by ordinary scene node animators. If the light type is directional or
|
|
|
|
spot, the direction of the light source is defined by the rotation of the scene
|
|
|
|
node (assuming (0,0,1) as the local direction of the light).
|
2007-05-20 11:03:49 -07:00
|
|
|
*/
|
|
|
|
class ILightSceneNode : public ISceneNode
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
//! constructor
|
2008-05-22 04:51:37 -07:00
|
|
|
ILightSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
|
2007-05-20 11:03:49 -07:00
|
|
|
const core::vector3df& position = core::vector3df(0,0,0))
|
|
|
|
: ISceneNode(parent, mgr, id, position) {}
|
|
|
|
|
|
|
|
//! Sets the light data associated with this ILightSceneNode
|
2008-05-22 04:51:37 -07:00
|
|
|
/** \param light The new light data. */
|
2007-05-20 11:03:49 -07:00
|
|
|
virtual void setLightData(const video::SLight& light) = 0;
|
|
|
|
|
|
|
|
//! Gets the light data associated with this ILightSceneNode
|
2008-05-22 04:51:37 -07:00
|
|
|
/** \return The light data. */
|
2007-08-14 20:39:44 -07:00
|
|
|
virtual const video::SLight& getLightData() const = 0;
|
2007-05-20 11:03:49 -07:00
|
|
|
|
2007-08-14 20:39:44 -07:00
|
|
|
//! Gets the light data associated with this ILightSceneNode
|
2008-05-22 04:51:37 -07:00
|
|
|
/** \return The light data. */
|
2007-08-14 20:39:44 -07:00
|
|
|
virtual video::SLight& getLightData() = 0;
|
2007-05-20 11:03:49 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
} // end namespace scene
|
|
|
|
} // end namespace irr
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|