osg::Switch Class Reference

Inheritance diagram for osg::Switch:

osg::Group osg::Node osg::Object osg::Referenced List of all members.

Public Types

typedef std::vector< bool > ValueList

Public Member Functions

 Switch ()
 Switch (const Switch &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_Node (osg, Switch)
virtual void traverse (NodeVisitor &nv)
void setNewChildDefaultValue (bool value)
bool getNewChildDefaultValue () const
virtual bool addChild (Node *child)
virtual bool addChild (Node *child, bool value)
virtual bool insertChild (unsigned int index, Node *child)
virtual bool insertChild (unsigned int index, Node *child, bool value)
virtual bool removeChildren (unsigned int pos, unsigned int numChildrenToRemove)
void setValue (unsigned int pos, bool value)
bool getValue (unsigned int pos) const
void setChildValue (const Node *child, bool value)
bool getChildValue (const Node *child) const
bool setAllChildrenOff ()
bool setAllChildrenOn ()
bool setSingleChildOn (unsigned int pos)
void setValueList (const ValueList &values)
const ValueListgetValueList () const
virtual BoundingSphere computeBound () const

Protected Member Functions

virtual ~Switch ()

Protected Attributes

bool _newChildDefaultValue
ValueList _values

Detailed Description

Switch is a Group node that allows switching between children. Typical uses would be for objects which might need to be rendered differently at different times, for instance a switch could be used to represent the different states of a traffic light.


Member Typedef Documentation

typedef std::vector<bool> osg::Switch::ValueList


Constructor & Destructor Documentation

osg::Switch::Switch (  ) 

osg::Switch::Switch ( const Switch ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::Switch::~Switch (  )  [inline, protected, virtual]


Member Function Documentation

virtual bool osg::Switch::addChild ( Node child,
bool  value 
) [virtual]

virtual bool osg::Switch::addChild ( Node child  )  [virtual]

Add Node to Group. If node is not NULL and is not contained in Group then increment its reference count, add it to the child list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false. Scene nodes can't be added as child nodes.

Reimplemented from osg::Group.

virtual BoundingSphere osg::Switch::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.

bool osg::Switch::getChildValue ( const Node child  )  const

bool osg::Switch::getNewChildDefaultValue (  )  const [inline]

bool osg::Switch::getValue ( unsigned int  pos  )  const

const ValueList& osg::Switch::getValueList (  )  const [inline]

virtual bool osg::Switch::insertChild ( unsigned int  index,
Node child,
bool  value 
) [virtual]

virtual bool osg::Switch::insertChild ( unsigned int  index,
Node child 
) [virtual]

Insert Node to Group at specific location. The new child node is inserted into the child list before the node at the specified index. No nodes are removed from the group with this operation.

Reimplemented from osg::Group.

osg::Switch::META_Node ( osg  ,
Switch   
)

virtual bool osg::Switch::removeChildren ( unsigned int  pos,
unsigned int  numChildrenToRemove 
) [virtual]

Remove children from Group. Note, must be override by subclasses of Group which add per child attributes.

Reimplemented from osg::Group.

bool osg::Switch::setAllChildrenOff (  ) 

Set all the children off (false), and set the new default child value to off (false).

bool osg::Switch::setAllChildrenOn (  ) 

Set all the children on (true), and set the new default child value to on (true).

void osg::Switch::setChildValue ( const Node child,
bool  value 
)

void osg::Switch::setNewChildDefaultValue ( bool  value  )  [inline]

bool osg::Switch::setSingleChildOn ( unsigned int  pos  ) 

Set a single child on, switch off all other children.

void osg::Switch::setValue ( unsigned int  pos,
bool  value 
)

void osg::Switch::setValueList ( const ValueList values  )  [inline]

virtual void osg::Switch::traverse ( NodeVisitor nv  )  [virtual]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Group.


Member Data Documentation

bool osg::Switch::_newChildDefaultValue [protected]

ValueList osg::Switch::_values [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:08 2006 for openscenegraph by  doxygen 1.4.7