Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoTransformSeparator — group node that saves and restores transformation state

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoGroup > SoTransformSeparator

SYNOPSIS

       #include <Inventor/nodes/SoTransformSeparator.h>

          Methods from class SoTransformSeparator:

                         SoTransformSeparator()
                         SoTransformSeparator(int nChildren)
     static SoType       getClassTypeId()

          Methods from class SoGroup:

     void                addChild(SoNode *child)
     void                insertChild(SoNode *child, int newChildIndex)
     SoNode *            getChild(int index) const
     int                 findChild(const SoNode *child) const
     int                 getNumChildren() const
     void                removeChild(int index)
     void                removeChild(SoNode *child)
     void                removeAllChildren()
     void                replaceChild(int index, SoNode *newChild)
     void                replaceChild(SoNode *oldChild, SoNode *newChild)

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool  copyConnections =
                              FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName) const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const

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.

METHODS

                         SoTransformSeparator()
          Creates a transform separator node with default settings.

                         SoTransformSeparator(int nChildren)
          Constructor that takes approximate number of children.

     static SoType       getClassTypeId()
          Returns type identifier for this class.

ACTION BEHAVIOR

       SoGLRenderAction,     SoCallbackAction,     SoGetBoundingBoxAction,     SoGetMatrixAction,
       SoRayPickAction
          Saves the current transformation  state,  traverses  all  children,  and  restores  the
          previous transformation state.

FILE FORMAT/DEFAULTS

       TransformSeparator {
       }

SEE ALSO

       SoResetTransform, SoTransformation

                                                                      SoTransformSeparator(3IV)()