# osg::LightSource Class Reference

Leaf Node for defining a light in the scene. More...

Inheritance diagram for osg::LightSource:

[legend]
List of all members.

## Public Types

enum | ReferenceFrame { RELATIVE_RF, ABSOLUTE_RF }

## Public Member Functions

| LightSource ()
| LightSource (const LightSource &ls, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| Copy constructor using CopyOp to manage deep vs shallow copy.
| META_Node (osg, LightSource)
void | setReferenceFrame (ReferenceFrame rf)
| Set the light sources's ReferenceFrame, either to be relative to its parent reference frame, or relative to an absolute coordinate frame.
ReferenceFrame | getReferenceFrame () const
void | setLight (Light *light)
| Set the attached light.
Light * | getLight ()
| Get the attached light.
const Light * | getLight () const
| Get the const attached light.
void | setStateSetModes (StateSet &, StateAttribute::GLModeValue) const
| Set the GLModes on StateSet associated with the LightSource.
void | setLocalStateSetModes (StateAttribute::GLModeValue value=StateAttribute::ON)
| Set up the local StateSet.

## Protected Member Functions

virtual | ~LightSource ()
virtual bool | computeBound () const
| Compute the bounding sphere around Node's geometry or children.

## Protected Attributes

StateAttribute::GLModeValue | _value
ref_ptr< Light > | _light
ReferenceFrame | _referenceFrame

## Detailed Description

Leaf Node for defining a light in the scene.

## Member Enumeration Documentation

enum osg::LightSource::ReferenceFrame

Enumeration values:

  RELATIVE_RF |
  ABSOLUTE_RF |

## Constructor & Destructor Documentation

LightSource::LightSource | ( |  | ) |

osg::LightSource::LightSource | ( | const LightSource & | ls,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) | `[inline]`

| Copy constructor using CopyOp to manage deep vs shallow copy.

LightSource::~LightSource | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

bool LightSource::computeBound | ( |  | ) | const`[protected, virtual]`

| Compute the bounding sphere around Node's geometry or children. This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). Reimplemented from osg::Group.

const Light* osg::LightSource::getLight | ( |  | ) | const`[inline]`

| Get the const attached light.

Light* osg::LightSource::getLight | ( |  | ) | `[inline]`

| Get the attached light.

ReferenceFrame osg::LightSource::getReferenceFrame | ( |  | ) | const`[inline]`

osg::LightSource::META_Node | ( | osg | ,
|  | LightSource |
| ) |

void LightSource::setLight | ( | Light * | light | ) |

| Set the attached light.

void LightSource::setLocalStateSetModes | ( | StateAttribute::GLModeValue | value = `StateAttribute::ON` | ) |

| Set up the local StateSet.

void LightSource::setReferenceFrame | ( | ReferenceFrame | rf | ) |

Set the light sources's ReferenceFrame, either to be relative to its parent reference frame, or relative to an absolute coordinate frame.

RELATIVE_RF is the default. Note: setting the ReferenceFrame to be ABSOLUTE_RF will also set the CullingActive flag on the light source, and hence all of its parents, to false, thereby disabling culling of it and all its parents. This is necessary to prevent inappropriate culling, but may impact cull times if the absolute light source is deep in the scene graph. It is therefore recommended to only use absolute light source at the top of the scene.

void LightSource::setStateSetModes | ( | StateSet & | ,
|  | StateAttribute::GLModeValue |
| ) | const

| Set the GLModes on StateSet associated with the LightSource.

## Member Data Documentation

ref_ptr<Light> osg::LightSource::_light `[protected]`

ReferenceFrame osg::LightSource::_referenceFrame `[protected]`

StateAttribute::GLModeValue osg::LightSource::_value `[protected]`

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

- LightSource
- LightSource.cpp