'\"! tbl | mmdoc
'\"macro stdmacro
.ie n \{\
.   ds Cr \fB
.   ds Cb \fB
.\}
.el \{\
.   ds Cr \f7
.   ds Cb \f8
.\}
.TH SoSwitch(3IV)
.SH NAME
SoSwitch \(em group node that traverse one chosen child 
.SH INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoGroup > SoSwitch
.SH SYNOPSIS
.ps -1
\*(Cr#include <Inventor/nodes/SoSwitch.h>
.sp
.in 1i
\f1Fields from class SoSwitch:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoSFInt32
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbwhichChild
.sp
.in 1i
\f1Methods from class SoSwitch:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoSwitch\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoSwitch\*(Cr(int nChildren)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crstatic SoType
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetClassTypeId\*(Cr()
.sp
.in 1i
\f1Methods from class SoGroup:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbaddChild\*(Cr(SoNode *child)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbinsertChild\*(Cr(SoNode *child, int newChildIndex)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoNode *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetChild\*(Cr(int index) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crint
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbfindChild\*(Cr(const SoNode *child) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crint
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetNumChildren\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbremoveChild\*(Cr(int index)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbremoveChild\*(Cr(SoNode *child)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbremoveAllChildren\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbreplaceChild\*(Cr(int index, SoNode *newChild)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbreplaceChild\*(Cr(SoNode *oldChild, SoNode *newChild)
.sp
.in 1i
\f1Methods from class SoNode:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbsetOverride\*(Cr(SbBool state)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbisOverride\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoNode *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbcopy\*(Cr(SbBool copyConnections = FALSE) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual SbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbaffectsState\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crstatic SoNode *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetByName\*(Cr(const SbName &name)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crstatic int
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetByName\*(Cr(const SbName &name, SoNodeList &list)
.sp
.in 1i
\f1Methods from class SoFieldContainer:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbsetToDefaults\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbhasDefaultValues\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbfieldsAreEqual\*(Cr(const SoFieldContainer *fc) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbcopyFieldValues\*(Cr(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbset\*(Cr(const char *fieldDataString)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbget\*(Cr(SbString &fieldDataString)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual int
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetFields\*(Cr(SoFieldList &resultList) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual SoField *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetField\*(Cr(const SbName &fieldName) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetFieldName\*(Cr(const SoField *field, SbName &fieldName) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbisNotifyEnabled\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbenableNotify\*(Cr(SbBool flag)
.sp
.in 1i
\f1Methods from class SoBase:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbref\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbunref\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbunrefNoDelete\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvoid
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbtouch\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual SoType
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetTypeId\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbisOfType\*(Cr(SoType type) const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual void
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbsetName\*(Cr(const SbName &name)
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual SbName
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetName\*(Cr() const
.sp
.SH DESCRIPTION
This group node usually traverses only one or none of its children. It implements an operation similar to the \*(Crswitch\f1 statement in C. One can use this node to switch on and off the effects of some properties or
\&to switch between different properties. 
.sp
The \*(CbwhichChild\f1 field specifies the index of the child to traverse, where the first child has index 0. 
.sp
A value of \*(CrSO_SWITCH_NONE\f1 (-1, the default) means do not traverse any children. A value
\&of \*(CrSO_SWITCH_INHERIT\f1 (-2) allows the index to be inherited from a previously-encountered \*(CbSoSwitch\f1 node or from certain other nodes (such as \*(CbSoArray\f1 or \*(CbSoMultipleCopy\f1) that set the switch value. A value of \*(CrSO_SWITCH_ALL\f1 (-3) traverses all children, making the switch
\&behave exactly like a regular \*(CbSoGroup\f1. 
.SH FIELDS
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoSFInt32
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbwhichChild
.br
.in 1i
\f1Index of the child to traverse, or one of \*(CrSO_SWITCH_NONE\f1, \*(CrSO_SWITCH_INHERIT\f1, or \*(CrSO_SWITCH_ALL\f1. 
.sp
.in 0.5i
.SH METHODS
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoSwitch\*(Cr()
.br
.in 1i
\f1Creates a switch node with default settings. 
.sp
.in 0.5i
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoSwitch\*(Cr(int nChildren)
.br
.in 1i
\f1Constructor that takes approximate number of children. 
.sp
.in 0.5i
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crstatic SoType
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetClassTypeId\*(Cr()
.br
.in 1i
\f1Returns type identifier for this class. 
.sp
.in 0.5i
.SH ACTION BEHAVIOR
\*(CbSoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoGetMatrixAction, SoHandleEventAction, SoRayPickAction
.br
.in 1i
\f1Traverses the chosen child or children. 
.sp
.in 0.5i
\*(CbSoSearchAction
.br
.in 1i
\f1If the action's Searching-All flag is set, always traverses all children. Otherwise, traverses just the chosen child or children. 
.sp
.in 0.5i
.SH FILE FORMAT/DEFAULTS
.nf
\*(CrSwitch {
.in 1i
.ta 12m
whichChild	-1
.in 0.5i
}
.SH SEE ALSO
\*(CbSoArray, SoLevelOfDetail, SoMultipleCopy, SoPathSwitch