class SG_EXPORT osg::Switch

Switch is a Group node which allows switching between children.

Inheritance:


Public Methods

[more] Switch()
[more] Switch(const Switch&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy
[more] META_Node(osg, Switch)
[more]virtual void traverse(NodeVisitor& nv)
[more]void setNewChildDefaultValue(bool value)
[more]bool getNewChildDefaultValue() const
[more]virtual bool addChild( Node* child )
[more]virtual bool addChild( Node* child, bool value )
[more]virtual bool removeChild( Node* child )
[more]void setValue(unsigned int pos, bool value)
[more]bool getValue(unsigned int pos) const
[more]void setChildValue(const Node* child, bool value)
[more]bool getChildValue(const Node* child) const
[more]bool setAllChildrenOff()
Set all the children off (false), and set the new default child value to off (false)
[more]bool setAllChildrenOn()
Set all the children on (true), and set the new default child value to on (true)
[more]bool setSingleChildOn(unsigned int pos)
Set a single child to be on, switch off all other children
[more]void setValue(int value)
Selects the active child Node or enables a special SwitchType mode.
[more]int getValue() const
[more]const ValueList& getValueList() const

Public Members

[more]enum Values
Special values for the Switch.
[more]typedef std::vector<bool> ValueList

Protected Fields

[more]bool _newChildDefaultValue
[more]ValueList _values

Protected Methods

[more]virtual ~Switch()


Inherited from Group:

Public Methods

ovirtual Group* asGroup()
ovirtual const Group* asGroup() const
ovirtual bool replaceChild( Node* origChild, Node* newChild )
oinline unsigned int getNumChildren() const
ovirtual bool setChild( unsigned int i, Node* node )
oinline Node* getChild( unsigned int i )
oinline const Node* getChild( unsigned int i ) const
oinline bool containsNode( const Node* node ) const
oinline unsigned int getChildIndex( const Node* node ) const

Public Members

otypedef std::vector<ref_ptr<Node> > ChildList

Protected Fields

oChildList _children

Protected Methods

ovirtual bool computeBound() const


Inherited from Node:

Public Methods

ovirtual Object* cloneType() const
ovirtual Object* clone(const CopyOp& copyop) const
ovirtual bool isSameKindAs(const Object* obj) const
ovirtual const char* libraryName() const
ovirtual const char* className() const
ovirtual Transform* asTransform()
ovirtual const Transform* asTransform() const
ovirtual void accept(NodeVisitor& nv)
ovirtual void ascend(NodeVisitor& nv)
oinline void setName( const std::string& name )
oinline void setName( const char* name )
oinline const std::string& getName() const
oinline const ParentList& getParents() const
oinline ParentList getParents()
oinline Group* getParent(unsigned int i)
oinline const Group* getParent(unsigned int i) const
oinline unsigned int getNumParents() const
ovoid setUpdateCallback(NodeCallback* nc)
oinline NodeCallback* getUpdateCallback()
oinline const NodeCallback* getUpdateCallback() const
ovoid setAppCallback(NodeCallback* nc)
oinline NodeCallback* getAppCallback()
oinline const NodeCallback* getAppCallback() const
oinline unsigned int getNumChildrenRequiringUpdateTraversal() const
ovoid setCullCallback(NodeCallback* nc)
oinline NodeCallback* getCullCallback()
oinline const NodeCallback* getCullCallback() const
ovoid setCullingActive(bool active)
oinline bool getCullingActive() const
oinline unsigned int getNumChildrenWithCullingDisabled() const
oinline bool isCullingActive() const
oinline unsigned int getNumChildrenWithOccluderNodes() const
obool containsOccluderNodes() const
oinline void setNodeMask(NodeMask nm)
oinline NodeMask getNodeMask() const
oinline const DescriptionList& getDescriptions() const
oinline DescriptionList& getDescriptions()
oinline const std::string& getDescription(unsigned int i) const
oinline std::string& getDescription(unsigned int i)
oinline unsigned int getNumDescriptions() const
ovoid addDescription(const std::string& desc)
oinline void setStateSet(osg::StateSet* dstate)
oosg::StateSet* getOrCreateStateSet()
oinline osg::StateSet* getStateSet()
oinline const osg::StateSet* getStateSet() const
oinline const BoundingSphere& getBound() const
ovoid dirtyBound()

Public Members

otypedef std::vector<Group*> ParentList
otypedef unsigned int NodeMask
otypedef std::vector<std::string> DescriptionList

Protected Fields

omutable BoundingSphere _bsphere
omutable bool _bsphere_computed
ostd::string _name
oParentList _parents
oref_ptr<NodeCallback> _updateCallback
ounsigned int _numChildrenRequiringUpdateTraversal
oref_ptr<NodeCallback> _cullCallback
obool _cullingActive
ounsigned int _numChildrenWithCullingDisabled
ounsigned int _numChildrenWithOccluderNodes
oNodeMask _nodeMask
oDescriptionList _descriptions
oref_ptr<StateSet> _stateset

Protected Methods

ovoid addParent(osg::Group* node)
ovoid removeParent(osg::Group* node)
ovoid setNumChildrenRequiringUpdateTraversal(unsigned int num)
ovoid setNumChildrenWithCullingDisabled(unsigned int num)
ovoid setNumChildrenWithOccluderNodes(unsigned int num)


Inherited from Object:

Public Methods

oinline void setDataVariance(DataVariance dv)
oinline DataVariance getDataVariance() const
oinline void setUserData(Referenced* obj)
oinline Referenced* getUserData()
oinline const Referenced* getUserData() const

Public Members

oenum DataVariance

Protected Fields

oDataVariance _dataVariance
oref_ptr<Referenced> _userData


Inherited from Referenced:

Public Methods

oinline Referenced& operator = (Referenced&)
ostatic void setDeleteHandler(DeleteHandler* handler)
ostatic DeleteHandler* getDeleteHandler()
oinline void ref() const
oinline void unref_nodelete() const
oinline int referenceCount() const
oinline void unref() const

Protected Fields

omutable int _refCount


Documentation

Switch is a Group node which 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.
o Switch()

o Switch(const Switch&, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
Copy constructor using CopyOp to manage deep vs shallow copy

o META_Node(osg, Switch)

ovirtual void traverse(NodeVisitor& nv)

ovoid setNewChildDefaultValue(bool value)

obool getNewChildDefaultValue() const

ovirtual bool addChild( Node* child )

ovirtual bool addChild( Node* child, bool value )

ovirtual bool removeChild( Node* child )

ovoid setValue(unsigned int pos, bool value)

obool getValue(unsigned int pos) const

ovoid setChildValue(const Node* child, bool value)

obool getChildValue(const Node* child) const

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

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

obool setSingleChildOn(unsigned int pos)
Set a single child to be on, switch off all other children

oenum Values
Special values for the Switch. Use these if you want to turn on/off all child nodes.

o ALL_CHILDREN_ON
All children turned on.

o ALL_CHILDREN_OFF
All children off.

o MULTIPLE_CHILDREN_ON
Multiple children turned on

ovoid setValue(int value)
Selects the active child Node or enables a special SwitchType mode.
Parameters:
value - the number of the active child (first child == number 0) or SwitchType. Invalid values will be ignored.

oint getValue() const

otypedef std::vector<bool> ValueList

oconst ValueList& getValueList() const

ovirtual ~Switch()

obool _newChildDefaultValue

oValueList _values


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.