logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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