Studierstube 4 Documentation Project

   Main Page       Modules       Class Hierarchy       Alphabetical List       Compound List       File List       Compound Members       Related Pages   

SoContextMultiSwitch Class Reference

#include <SoContextMultiSwitch.h>

Inherits SoMultiSwitch, and SoMultiSwitch.

Collaboration diagram for SoContextMultiSwitch:

Collaboration graph

List of all members.

Public Member Functions

 SoContextMultiSwitch ()
virtual ~SoContextMultiSwitch ()
virtual SbBool affectsState () const
 SoContextMultiSwitch ()
virtual ~SoContextMultiSwitch ()
virtual SbBool affectsState () const

Static Public Member Functions

static void initClass ()
static void initClass ()

Public Attributes

SoSFName index
SoMFInt32 numChildren
SoMFInt32 defaultChildren

Protected Member Functions

virtual void doAction (SoAction *action)
virtual void doAction (SoAction *action)

Private Member Functions

 SO_NODE_HEADER (SoContextMultiSwitch)
 SO_NODE_HEADER (SoContextMultiSwitch)


Detailed Description

The SoContextMultiSwitch is an extension to the SoMultiSwitch node to allow some experiements with the context sensitive scene graph concept. It allows to define subsets of its children and to use the SoContextElement to select during traversal which sets of children will be traversed. The ordered field behaves as in the SoMultiSwitch node.

Note that the values SO_SWITCH_NONE, SO_SWITCH_INHERIT and SO_SWITCH_ALL have their usual meaning in the whichChildren field. They override any other indices given in the same set of nodes. Their individual order is SO_SWITCH_ALL, SO_SWITCH_INHERIT and SO_SWITCH_NONE.

The defaultChildren field is used, if the index specified is not part of the context. This is also interpreted as the context value of that index is NIL. Then the value of the defaultChild is used to define the behaviour of the Switch.

File format :

SoContextMultiSwitch {
  SFBool  ordered       TRUE
  SFInt32 index         INT32_MIN
  MFInt32 whichChildren []
  MFInt32 numChildren   []
  MFInt32 defaultChildren [-1]
}

Author:
Gerhard Reitmayr

Definition at line 70 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h.


Constructor & Destructor Documentation

virtual ~SoContextMultiSwitch (  )  [virtual]


Member Function Documentation

virtual SbBool affectsState (  )  const [virtual]

Overrides method in SoMultiSwitch to return default value because we can only determine within an action which nodes to process.

Reimplemented from SoMultiSwitch.

SbBool affectsState (  )  const [virtual]

Overrides method in SoMultiSwitch to return default value because we can only determine within an action which nodes to process.

Reimplemented from SoMultiSwitch.

Definition at line 78 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp.

virtual void doAction ( SoAction *  action  )  [protected, virtual]

does the actual action work. It computes which children to traverse and implements some special behaviour for bounding box actions.

Parameters:
action the action to apply to the children

Reimplemented from SoMultiSwitch.

void doAction ( SoAction *  action  )  [protected, virtual]

does the actual action work. It computes which children to traverse and implements some special behaviour for bounding box actions.

Parameters:
action the action to apply to the children

Reimplemented from SoMultiSwitch.

Definition at line 98 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp.

References defaultChildren, SoMultiSwitch::doChildren(), SoMultiSwitchElement::get(), SoContextElement::get(), index, SoContextElement::isSet(), numChildren, SoMultiSwitch::ordered, SoMultiSwitchElement::set(), SO_SWITCH_ALL, SO_SWITCH_INHERIT, SO_SWITCH_NONE, and SoMultiSwitch::whichChildren.

Here is the call graph for this function:

static void initClass (  )  [static]

static method to initialize class for OpenInventor. It also initializes SoGroupSwitchElement and enables it for all necessary actions.

Reimplemented from SoMultiSwitch.

void initClass ( void   )  [static]

static method to initialize class for OpenInventor. It also initializes SoGroupSwitchElement and enables it for all necessary actions.

Reimplemented from SoMultiSwitch.

Definition at line 66 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp.

Referenced by Starlight::init().

SO_NODE_HEADER ( SoContextMultiSwitch   )  [private]

SO_NODE_HEADER ( SoContextMultiSwitch   )  [private]


Member Data Documentation

SoMFInt32 defaultChildren

The defaultChildren field is used, if the index specified is not part of the context. This is also interpreted as the context value of that index is NIL. Then the value of the defaultChild is used to define the behaviour of the Switch.

Definition at line 98 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h.

Referenced by doAction(), and SoContextMultiSwitch().

SoSFName index

this field stores the index in the context to be used to select the index of the set of children to be traversed. if it is smaller than 0 or greater than the number of sets, the switch will traverse no children at all.

Definition at line 84 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h.

Referenced by doAction(), and SoContextMultiSwitch().

SoMFInt32 numChildren

this field stores the number of indices in the whichChildren field that belong to each subset of children. It works similar to the fields in SoFaceSet.

Definition at line 91 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h.

Referenced by doAction(), and SoContextMultiSwitch().


The documentation for this class was generated from the following files:
 This page was generated at Wed Oct 27 13:03:03 2010 for Studierstube 4 by Doxygen.
 If you have any comments, please send a message to schmalstieg#icg.tu-graz.ac.at.
www.studierstube.org