SoContextMultiSwitch Class Reference
#include <SoContextMultiSwitch.h>
Inherits SoMultiSwitch, and SoMultiSwitch.

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] }
Definition at line 70 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h.
Constructor & Destructor Documentation
Definition at line 50 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp.
References defaultChildren, index, and numChildren.
| ~SoContextMultiSwitch | ( | ) | [virtual] |
Definition at line 61 of file _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp.
| 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.

| 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:
- _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/include/stb/components/starlight/SoContextMultiSwitch.h
- include/stb/components/starlight/SoContextMultiSwitch.h
- _CPack_Packages/Linux-Source/TBZ2/studierstube-4.3/src/components/starlight/SoContextMultiSwitch.cpp
- src/components/starlight/SoContextMultiSwitch.cpp
