osg::LightSource Class Reference

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

Inheritance diagram for osg::LightSource:

Inheritance graph
[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.
LightgetLight ()
 Get the attached light.
const LightgetLight () 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.
virtual void setThreadSafeRefUnref (bool threadSafe)
 Set whether to use a mutex to ensure ref() and unref() are thread safe.
virtual BoundingSphere computeBound () const
 Compute the bounding sphere around Node's geometry or children.

Protected Member Functions

virtual ~LightSource ()

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

Enumerator:
RELATIVE_RF 
ABSOLUTE_RF 


Constructor & Destructor Documentation

osg::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.

virtual osg::LightSource::~LightSource (  )  [protected, virtual]


Member Function Documentation

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

void osg::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.

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

void osg::LightSource::setLight ( Light light  ) 

Set the attached light.

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

Get the attached light.

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

Get the const attached light.

void osg::LightSource::setStateSetModes ( StateSet ,
StateAttribute::GLModeValue   
) const

Set the GLModes on StateSet associated with the LightSource.

void osg::LightSource::setLocalStateSetModes ( StateAttribute::GLModeValue  value = StateAttribute::ON  ) 

Set up the local StateSet.

virtual void osg::LightSource::setThreadSafeRefUnref ( bool  threadSafe  )  [virtual]

Set whether to use a mutex to ensure ref() and unref() are thread safe.

Reimplemented from osg::Group.

virtual BoundingSphere osg::LightSource::computeBound (  )  const [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.


Member Data Documentation

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

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

ReferenceFrame osg::LightSource::_referenceFrame [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:10 2007 for the OpenSceneGraph by doxygen 1.5.3.