24#ifndef _SO_LIGHT_ELEMENT_
25#define _SO_LIGHT_ELEMENT_
28#include <Inventor/SoLists.h>
29#include <Inventor/elements/SoAccumulatedElement.h>
30#include <Inventor/SbMatrix.h>
32#include <Inventor/STL/vector>
79 virtual void init(
SoState *state);
82 typedef std::vector<SoLight*> LightList;
85 static void initClass() ;
86 static void exitClass() ;
96 void getLights( LightList& lightList )
const;
111 virtual SoElement* copyMatchInfo()
const;
117 std::vector<SbMatrix> m_WCToVRCMatrix;
121 std::vector<SbMatrix> m_viewMatrix;
Abstract base class for each state element whose value may be accumulated when it is set.
Abstract base class for all state elements.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Stores informati...
static const SoNodeList & getLights(SoState *state)
Returns the current list of light nodes from the state.
virtual void pop(SoState *state, const SoElement *prevTopElement)
Pops element.
static void add(SoState *state, SoLight *light, const SbMatrix &WCToVRCMatrix)
Add to the current light list and to the current matrix list.
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
static const SbMatrix & getMatrix(SoState *state, int index)
Returns the matrix transform (WC to VRC) for the light i for an SoCallbackAction.
Abstract base class for all light source nodes.
Maintains a list of pointers to nodes.