PixelLightAPI  .
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
PLScene::SNPointLight Class Reference

Omni directional point light scene node were light is emitted from a single point in space. More...

#include <SNPointLight.h>

Inheritance diagram for PLScene::SNPointLight:
Inheritance graph
[legend]

List of all members.

Public Types

enum  EDebugFlags { DebugNoScissorRectangle = 1<<8 }
 Scene node debug flags (SceneNode debug flags extension) More...

Public Member Functions

PLS_API SNPointLight ()
 Default constructor.
virtual PLS_API ~SNPointLight ()
 Destructor.
PLS_API const PLMath::PlaneSetGetBoxPlaneSet ()
 Returns the box plane set.
virtual PLS_API bool IsRenderLight () const override
virtual PLS_API bool IsPointLight () const override
 Returns whether this scene node is a point light (SNPointLight) or not.
virtual PLS_API void DrawDebug (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) override
 This function is called when the debug parts of the scene are drawn.

Static Public Attributes

static PLS_API const float MinRange

Protected Types

enum  EInternalLightFlags { RecalculateBoxPlaneSet = 1<<0 }
 Flags which hold ínternal light information. More...

Protected Member Functions

virtual PLS_API void UpdateAABoundingBox () override
 Updates the axis align bounding box in 'scene node space'.
virtual PLS_API void GetBoundingSphere (PLMath::Sphere &cSphere) override
 Returns the bounding sphere in 'scene node space'.
virtual PLS_API void GetContainerBoundingSphere (PLMath::Sphere &cSphere) override
 Returns the current bounding sphere in 'scene container space'.

Protected Attributes

PLCore::uint8 m_nInternalLightFlags

Detailed Description

Omni directional point light scene node were light is emitted from a single point in space.


Member Enumeration Documentation

Scene node debug flags (SceneNode debug flags extension)

Enumerator:
DebugNoScissorRectangle 

Do not draw the (pink) scissor rectangle

Flags which hold ínternal light information.

Enumerator:
RecalculateBoxPlaneSet 

Recalculation of box plane set required

Reimplemented in PLScene::SNSpotLight.


Constructor & Destructor Documentation

Default constructor.

virtual PLS_API PLScene::SNPointLight::~SNPointLight ( ) [virtual]

Destructor.


Member Function Documentation

Returns the box plane set.

Returns:
Box plane set
virtual PLS_API bool PLScene::SNPointLight::IsRenderLight ( ) const [override, virtual]
virtual PLS_API bool PLScene::SNPointLight::IsPointLight ( ) const [override, virtual]

Returns whether this scene node is a point light (SNPointLight) or not.

Returns:
'true' if this scene node is a point light, else 'false'
Note:
  • More performant than IsInstanceOf("PLScene::SNPointLight")

Reimplemented from PLScene::SNLight.

virtual PLS_API void PLScene::SNPointLight::UpdateAABoundingBox ( ) [override, protected, virtual]

Updates the axis align bounding box in 'scene node space'.

Remarks:
This function is called when the axis align bounding box needs to be calculated. One can overwrite the default implementation to calculate the axis align bounding box in another way. The default implementation is empty. (current set axis align bounding box is still used)
Note:
  • We recommend to use 'SetAABoundingBox()' inside your own implementation to set the new axis align bounding box, this function will take care of all other required updates

Reimplemented from PLScene::SceneNode.

Reimplemented in PLScene::SNSpotLight.

virtual PLS_API void PLScene::SNPointLight::GetBoundingSphere ( PLMath::Sphere cSphere) [override, protected, virtual]

Returns the bounding sphere in 'scene node space'.

Parameters:
[out]cSphereReceives the bounding sphere in 'scene node space'
Remarks:
This function is called when the sphere needs to be calculated. One can overwrite the default implementation to calculate the sphere in another way.

Reimplemented from PLScene::SceneNode.

Reimplemented in PLScene::SNSpotLight.

virtual PLS_API void PLScene::SNPointLight::GetContainerBoundingSphere ( PLMath::Sphere cSphere) [override, protected, virtual]

Returns the current bounding sphere in 'scene container space'.

Parameters:
[out]cSphereReceives the current bounding in 'scene container space'
See also:

Reimplemented from PLScene::SceneNode.

Reimplemented in PLScene::SNSpotLight.

virtual PLS_API void PLScene::SNPointLight::DrawDebug ( PLRenderer::Renderer cRenderer,
const VisNode pVisNode = nullptr 
) [override, virtual]

This function is called when the debug parts of the scene are drawn.

Parameters:
[in]cRendererThe used renderer
[in]pVisNodeThe current visibility node of this scene node, can be a null pointer
Note:
  • Should only be called if the 'UseDrawDebug' draw flag and the 'DebugEnabled' debug flag is set
  • Beside drawing scene node stuff, the default implementation emits the SignalDrawDebug signal
See also:

Reimplemented from PLScene::SceneNode.

Reimplemented in PLScene::SNSpotLight.


Member Data Documentation

PLS_API const float PLScene::SNPointLight::MinRange [static]

Minimum point light range (0.0001)

Internal light flags


The documentation for this class was generated from the following file:


PixelLight PixelLight 0.9.10-R1
Copyright (C) 2002-2011 by The PixelLight Team
Last modified Fri Dec 23 2011 15:51:26
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported