IVolumeLightSceneNode.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. // created by Dean Wadsworth aka Varmint Dec 31 2007
  6. #ifndef IRR_I_VOLUME_LIGHT_SCENE_NODE_H_INCLUDED
  7. #define IRR_I_VOLUME_LIGHT_SCENE_NODE_H_INCLUDED
  8. #include "ISceneNode.h"
  9. namespace irr
  10. {
  11. namespace scene
  12. {
  13. class IMeshBuffer;
  14. class IVolumeLightSceneNode : public ISceneNode
  15. {
  16. public:
  17. //! constructor
  18. IVolumeLightSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id,
  19. const core::vector3df& position,
  20. const core::vector3df& rotation,
  21. const core::vector3df& scale)
  22. : ISceneNode(parent, mgr, id, position, rotation, scale) {};
  23. //! Returns type of the scene node
  24. virtual ESCENE_NODE_TYPE getType() const IRR_OVERRIDE { return ESNT_VOLUME_LIGHT; }
  25. //! Sets the number of segments across the U axis
  26. virtual void setSubDivideU(const u32 inU) =0;
  27. //! Sets the number of segments across the V axis
  28. virtual void setSubDivideV(const u32 inV) =0;
  29. //! Returns the number of segments across the U axis
  30. virtual u32 getSubDivideU() const =0;
  31. //! Returns the number of segments across the V axis
  32. virtual u32 getSubDivideV() const =0;
  33. //! Sets the color of the base of the light
  34. virtual void setFootColor(const video::SColor inColor) =0;
  35. //! Sets the color of the tip of the light
  36. virtual void setTailColor(const video::SColor inColor) =0;
  37. //! Returns the color of the base of the light
  38. virtual video::SColor getFootColor() const =0;
  39. //! Returns the color of the tip of the light
  40. virtual video::SColor getTailColor() const =0;
  41. };
  42. } // end namespace scene
  43. } // end namespace irr
  44. #endif