Provided by: libcoin60-doc_3.1.3-2_all bug

NAME

       SbXfBox3d -

       The SbXfBox3d class is a 3 dimensional box with double precision coordinates and an
       attached transformation.

       It provides storage for two box corners with double precision floating point coordinates,
       and for a double precision 4x4 transformation matrix.

SYNOPSIS

       #include <Inventor/SbBox.h>

       Inherits SbBox3d.

   Public Member Functions
       SbXfBox3d (void)
       SbXfBox3d (const SbVec3d &boxmin, const SbVec3d &boxmax)
       SbXfBox3d (const SbBox3d &box)
       void setTransform (const SbDPMatrix &matrix)
       const SbDPMatrix & getTransform (void) const
       const SbDPMatrix & getInverse (void) const
       SbVec3d getCenter (void) const
       void extendBy (const SbVec3d &pt)
       void extendBy (const SbBox3d &bb)
       void extendBy (const SbXfBox3d &bb)
       SbBool intersect (const SbVec3d &pt) const
       SbBool intersect (const SbBox3d &bb) const
       SbBool intersect (const SbXfBox3d &bb) const
       SbBox3d project (void) const
       void getSpan (const SbVec3d &direction, double &dMin, double &dMax) const
       void transform (const SbDPMatrix &matrix)
       double getVolume (void) const

Detailed Description

       The SbXfBox3d class is a 3 dimensional box with double precision coordinates and an
       attached transformation.

       It provides storage for two box corners with double precision floating point coordinates,
       and for a double precision 4x4 transformation matrix.

       See also:
           SbBox3d, SbDPMatrix, SbXfBox3f

Constructor & Destructor Documentation

   SbXfBox3d::SbXfBox3d (void) The default constructor makes an empty box and identity matrix.
   SbXfBox3d::SbXfBox3d (const SbVec3d &boxmin, const SbVec3d &boxmax) Constructs a box with the
       given corners.
       The coordinates of min should be less than the coordinates of max if you want to make a
       valid box.

   SbXfBox3d::SbXfBox3d (const SbBox3d &box) Constructs a box from the given SbBox3d.
       The transformation is set to the identity matrix.

Member Function Documentation

   void SbXfBox3d::setTransform (const SbDPMatrix &m) Sets the transformation to the given
       SbMatrix.
   const SbDPMatrix & SbXfBox3d::getTransform (void) const [inline] Returns the current
       transformation matrix.
   const SbDPMatrix & SbXfBox3d::getInverse (void) const Returns the inverse of the current
       transformation matrix.
   SbVec3d SbXfBox3d::getCenter (void) const Return the transformed center point of the box.
       Reimplemented from SbBox3d.

   void SbXfBox3d::extendBy (const SbVec3d &pt) Extend the boundaries of the box by the given
       point, i.e. make the point fit inside the box if it isn't already so.
       The point is assumed to be in transformed space.

       Reimplemented from SbBox3d.

   void SbXfBox3d::extendBy (const SbBox3d &bb) Extend the boundaries of the box by the given bb
       parameter. The given box is assumed to be in transformed space.
       The two given boxes will be combined in such a way so that the resultant bounding box
       always has the smallest possible volume. To accomplish this, the transformation on this
       SbXfBox3f will sometimes be flattened before it's combined with bb.

       Reimplemented from SbBox3d.

   void SbXfBox3d::extendBy (const SbXfBox3d &bb) Extend the boundaries of the box by the given
       bb parameter.
       The given box is assumed to be in transformed space.

       Note: is not guaranteed to give an optimal result if used for bbox calculation since the
       transformation matrix might change. See documentation in SoGetBoundingBoxAction for more
       details.

   SbBool SbXfBox3d::intersect (const SbVec3d &pt) const Check if the given point lies within the
       boundaries of this box.
       The point is assumed to be in transformed space.

       Reimplemented from SbBox3d.

   SbBool SbXfBox3d::intersect (const SbBox3d &bb) const Check if the given box lies wholly or
       partly within the boundaries of this box.
       The given box is assumed to be in transformed space.

       Reimplemented from SbBox3d.

   SbBool SbXfBox3d::intersect (const SbXfBox3d &xfbb) const Check if two transformed boxes
       intersect.
       This function is an extension for Coin, and it is not available in the original SGI Open
       Inventor v2.1 API.

       Since:
           Coin 2.0

   SbBox3d SbXfBox3d::project (void) const Project the SbXfBox3d into a SbBox3d.
       This gives the same resulting SbBox3d as doing a SbBox3d::transform() with this
       transformation matrix as parameter.

   void SbXfBox3d::getSpan (const SbVec3d &direction, double &dMin, double &dMax) const Find the
       span of the box in the given direction (i.e. how much room in the given direction the box
       needs). The distance is returned as the minimum and maximum distance from origo to the
       closest and furthest plane defined by the direction vector and each of the box' corners.
       The difference between these values gives the span.
       Reimplemented from SbBox3d.

   void SbXfBox3d::transform (const SbDPMatrix &m) Overridden from SbBox3d, as the
       transformations are to be kept separate from the box in the SbXfBox3d class.
       Reimplemented from SbBox3d.

   double SbXfBox3d::getVolume (void) const Return box volume. Overridden from parent class to
       take into account the possibility of scaling in the transformation matrix.
       Reimplemented from SbBox3d.

Author

       Generated automatically by Doxygen for Coin from the source code.