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

NAME

       SoComputeBoundingBox — computes the bounding box and center of a scene graph

INHERITS FROM

       SoBase > SoFieldContainer > SoEngine > SoComputeBoundingBox

SYNOPSIS

       #include <Inventor/engines/SoComputeBoundingBox.h>

          Inputs from class SoComputeBoundingBox:

     SoSFNode            node
     SoSFPath            path

          Outputs from class SoComputeBoundingBox:

     (SoSFVec3f)         min
     (SoSFVec3f)         max
     (SoSFVec3f)         boxCenter
     (SoSFVec3f)         objectCenter

          Methods from class SoComputeBoundingBox:

                               SoComputeBoundingBox()
     void                      setViewportRegion(const SbViewportRegion &vpReg);
     const SbViewportRegion &  getViewportRegion();

          Methods from class SoEngine:

     static SoType       getClassTypeId()
     virtual int         getOutputs(SoEngineOutputList &list) const
     SoEngineOutput *    getOutput(const SbName &outputName) const
     SbBool              getOutputName(const SoEngineOutput *output, SbName &outputName) const
     SoEngine *          copy() const
     static SoEngine *   getByName(const SbName &name)
     static int          getByName(const SbName &name, SoEngineList &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 engine computes the bounding box and center of a scene graph. The scene graph can  be
       defined by a path or by a root node.

       If  the  path input is not NULL, the bounding box of the graph defined by the path will be
       computed. If path is NULL, but the node input is not NULL, the bounding box is computed on
       the  graph rooted by the node. By default, the two inputs are NULL. If both the inputs are
       NULL, the outputs are disabled.

       The engine uses a default viewport region. If  the  graph  includes  screen-based  objects
       (such  as  SoText2) you can call setViewportRegion()  on the engine instance to set up the
       correct viewport region to use.

INPUTS

     SoSFNode            node
          Defines the graph for which the bounding box is computed.

     SoSFPath            path
          Alternatively, defines the graph for which the bounding box is computed.

OUTPUTS

     (SoSFVec3f)         min
          Minimum point of the computed bounding box.

     (SoSFVec3f)         max
          Maximum point of the computed bounding box.

     (SoSFVec3f)         boxCenter
          Center of the computed bounding box.

     (SoSFVec3f)         objectCenter
          Center of the objects in the graph.

METHODS

                               SoComputeBoundingBox()
          Constructor

     void                      setViewportRegion(const SbViewportRegion &vpReg);
          Sets the viewport region to use for the bounding box computation.

     const SbViewportRegion &  getViewportRegion();
          Returns the viewport region to use for the bounding box computation.

FILE FORMAT/DEFAULTS

       ComputeBoundingBox {
          node  NULL
          path  NULL
     }

SEE ALSO

       SoEngineOutput, SoGetBoundingBoxAction, SbBox3f

                                                                      SoComputeBoundingBox(3IV)()