Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SbXfBox3f(3IV)()					      SbXfBox3f(3IV)()

NAME
       SbXfBox3f -- 3D box with	an associated transformation matrix

INHERITS FROM
       SbBox3f > SbXfBox3f

SYNOPSIS
       #include	<Inventor/SbBox.h>

	  Methods from class SbXfBox3f:

			 SbXfBox3f()
			 SbXfBox3f(const SbVec3f &_min,	const SbVec3f &_max)
			 SbXfBox3f(const SbBox3f &box)
			 ~SbXfBox3f()
     void		 setTransform(const SbMatrix &m)
     const SbMatrix &	 getTransform()	const
     const SbMatrix &	 getInverse() const
     SbVec3f		 getCenter() const
     void		 extendBy(const	SbVec3f	&pt)
     void		 extendBy(const	SbBox3f	&bb)
     void		 extendBy(const	SbXfBox3f &bb)
     SbBool		 intersect(const SbVec3f &pt) const
     SbBool		 intersect(const SbBox3f &bb) const
     void		 setBounds(float  xmin,	 float ymin, float zmin, float
			      xmax, float ymax,	float zmax)
     void		 setBounds(const SbVec3f &_min,	const SbVec3f &_max)
     void		 getBounds(float  &xmin,  float	 &ymin,	 float	&zmin,
			      float &xmax, float &ymax,	float &zmax) const
     void		 getBounds(SbVec3f &_min, SbVec3f &_max) const
     void		 getOrigin(float   &originX,   float  &originY,	 float
			      &originZ)
     void		 getSize(float &sizeX, float &sizeY, float &sizeZ)
     float		 getVolume() const
     void		 makeEmpty()
     SbBool		 isEmpty() const
     SbBool		 hasVolume() const
     void		 getSpan(const SbVec3f &direction, float &dMin,	 float
			      &dMax) const
     void		 transform(const SbMatrix &m)
     SbBox3f		 project() const
     int		 operator ==(const SbXfBox3f &b1, const	SbXfBox3f &b2)
     int		 operator !=(const SbXfBox3f &b1, const	SbXfBox3f &b2)

	  Methods from class SbBox3f:

     const SbVec3f &	 getMin()
     const SbVec3f &	 getMax()

DESCRIPTION
       A 3D box	with an	arbitrary transformation applied. This class is	useful
       when a box will be transformed frequently; if an	SbBox3f	 is  used  for
       this  purpose  it  will	expand each time it is transformed in order to
       keep itself axis-aligned. Transformations  can  be  accumulated	on  an
       SbXfBox3f without expanding the box, and	after all transformations have
       been done, the box can be expanded to an	axis-aligned box if necessary.

METHODS
			 SbXfBox3f()
			 SbXfBox3f(const SbVec3f &_min,	const SbVec3f &_max)
			 SbXfBox3f(const SbBox3f &box)
			 ~SbXfBox3f()
	  Constructors and destructor.

     void		 setTransform(const SbMatrix &m)
	  Sets the transformation on the box.

     const SbMatrix &	 getTransform()	const
     const SbMatrix &	 getInverse() const
	  Gets the transformation on the box, and its inverse.

     SbVec3f		 getCenter() const
	  Returns the center of	the box.

     void		 extendBy(const	SbVec3f	&pt)
	  Extends the box (if necessary) to contain the	given 3D point.	If the
	  box  has  had	 a  non-identity transformation	applied	using the set-
	  Transform() method, the point	is assumed to be  in  the  transformed
	  space.  For example, the following code sequence:
	       SbXfBox3f bbox; bbox.extendBy(SbVec3f(0,0,0));
	       SbMatrix	trans; trans.setTranslate(SbVec3f(1,1,1));
	       bbox.setTransform(trans);
	       bbox.extendBy(SbVec3f(0,0,0));
	  will	result	in a bounding box extending from (-1,-1,-1) to (0,0,0)
	  in bbox'es local (untransformed) space.

     void		 extendBy(const	SbBox3f	&bb)
	  Extends the box (if necessary) to contain the	given SbBox3f. If  the
	  box  has  had	 a  non-identity transformation	applied	using the set-
	  Transform() method, the given	SbBox3f	is assumed to be in the	trans-
	  formed space.

     void		 extendBy(const	SbXfBox3f &bb)
	  Extends the box (if necessary) to contain the	given SbXfBox3f.

     SbBool		 intersect(const SbVec3f &pt) const
	  Returns  TRUE	 if  intersection  of  given point and this box	is not
	  empty.

     SbBool		 intersect(const SbBox3f &bb) const
	  Returns TRUE if intersection of given	box and	this box is not	empty.

     void		 setBounds(float xmin, float ymin, float  zmin,	 float
			      xmax, float ymax,	float zmax)
     void		 setBounds(const SbVec3f &_min,	const SbVec3f &_max)
     void		 getBounds(float  &xmin,  float	 &ymin,	 float	&zmin,
			      float &xmax, float &ymax,	float &zmax) const
     void		 getBounds(SbVec3f &_min, SbVec3f &_max) const
	  Set and get the bounds of the	box.

     void		 getOrigin(float  &originX,  float   &originY,	 float
			      &originZ)
	  Returns origin (minimum point) of the	box.

     void		 getSize(float &sizeX, float &sizeY, float &sizeZ)
	  Returns size of the box.

     float		 getVolume() const
	  Gives	the volume of the box (0 for an	empty box).

     void		 makeEmpty()
	  Sets the box to contain nothing.

     SbBool		 isEmpty() const
	  Checks if the	box is empty (degenerate).

     SbBool		 hasVolume() const
	  Checks  if the box has volume; i.e., all three dimensions have posi-
	  tive size.

     void		 getSpan(const SbVec3f &direction, float &dMin,	 float
			      &dMax) const
	  Finds	the extent of the box along a particular direction.

     void		 transform(const SbMatrix &m)
	  Transforms the box by	the given matrix.

     SbBox3f		 project() const
	  Projects an SbXfBox3f	to an SbBox3f

     int		 operator ==(const SbXfBox3f &b1, const	SbXfBox3f &b2)
     int		 operator !=(const SbXfBox3f &b1, const	SbXfBox3f &b2)
	  Equality comparisons.

FILE FORMAT/DEFAULTS
SEE ALSO
       SbBox3f,	 SbBox2f, SbBox2s, SbVec3f, SbVec2f, SbVec2s, SbMatrix,	SoGet-
       BoundingBoxAction

							      SbXfBox3f(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS | FILE FORMAT/DEFAULTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SbXfBox3f&sektion=3iv&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help