SoTransformSeparator — group node that saves and restores transformation state
Contents
Action Behavior
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoGetMatrixAction,SoRayPickAction
Saves the current transformation state, traverses all children, and restores the previous
transformation state.
Description
This group node is similar to the SoSeparator node in that it saves state before traversing its children
and restores it afterwards. However, it saves only the current transformation; all other state is left as
is. This node can be useful for positioning a camera, since the transformations to the camera will not
affect the rest of the scene, even through the camera will view the scene. Similarly, this node can be
used to isolate transformations to light sources or other objects.
File Format/Defaults
TransformSeparator{}Inherits From
SoBase > SoFieldContainer > SoNode > SoGroup > SoTransformSeparator
Methods
SoTransformSeparator()
Creates a transform separator node with default settings.
SoTransformSeparator(intnChildren)
Constructor that takes approximate number of children.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoTransformSeparator — group node that saves and restores transformation state
See Also
SoResetTransform,SoTransformationSoTransformSeparator(3IV)()
Synopsis
#include<Inventor/nodes/SoTransformSeparator.h>
Methods from class SoTransformSeparator:
SoTransformSeparator()SoTransformSeparator(intnChildren)staticSoTypegetClassTypeId()
Methods from class SoGroup:
voidaddChild(SoNode*child)voidinsertChild(SoNode*child,intnewChildIndex)SoNode*getChild(intindex)constintfindChild(constSoNode*child)constintgetNumChildren()constvoidremoveChild(intindex)voidremoveChild(SoNode*child)voidremoveAllChildren()voidreplaceChild(intindex,SoNode*newChild)voidreplaceChild(SoNode*oldChild,SoNode*newChild)
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const