Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

SoTransformSeparator — group node that saves and restores transformation state

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

See Also