---
name: "SbBox3f"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SbBox3f/3iv"
---

# SbBox3f(3iv)

3D box class

## NAME

SbBox3f — 3D box class

## INHERITS FROM

SbBox3f

## SYNOPSIS

**#include \<Inventor/SbBox.h\>**

Methods from class SbBox3f:

	**SbBox3f()**\
 	**SbBox3f(float xmin, float ymin, float zmin float xmax, float ymax, float zmax)**\
 	**SbBox3f(const SbVec3f &min, const SbVec3f &max)**\
 **void**	**~SbBox3f()**\
 **const SbVec3f &**	**getMin()**\
 **const SbVec3f &**	**getMax()**\
 **SbVec3f**	**getCenter()**\
 **void**	**extendBy(const SbVec3f &point)**\
 **void**	**extendBy(const SbBox3f &box)**\
 **SbBool**	**intersect(const SbVec3f &point)**\
 **SbBool**	**intersect(const SbBox3f &box)**\
 **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)**\
 **void**	**getBounds(SbVec3f &min, SbVec3f &max)**\
 **void**	**getOrigin(float &x0, float &y0, float &z0)**\
 **void**	**getSize(float &x, float &y, float &z)**\
 **void**	**makeEmpty()**\
 **SbBool**	**isEmpty()**\
 **SbBool**	**hasVolume()**\
 **void**	**getSpan(SbVec3f &dir, float &dMin, float &dMax)**\
 **void**	**transform(const SbMatrix &mx)**\
 **float**	**getVolume()**

## DESCRIPTION

**3D box which has planes parallel to the major axes and is specified by two points on a diagonal. This class is part of the standard Inventor datatype classes and is used as input and output to geometry** **operations (see SoGetBoundingBoxAction**).

## METHODS

	**SbBox3f()**\
 	**SbBox3f(float xmin, float ymin, float zmin float xmax, float ymax, float zmax)**\
 	**SbBox3f(const SbVec3f &min, const SbVec3f &max)**\
 **void**	**~SbBox3f()**\
 Constructors and destructor for a 3D float box. **xmin**, **ymin**, **zmin**, **xmax**, **ymax** and **zmax** are the bounds of the box. **min** and **max** are the corners of the diagonal that define the box.

**const SbVec3f &**	**getMin()**\
 **const SbVec3f &**	**getMax()**\
 Returns the minimum and maximum points of the box. The minimum point is the corner of the box with the lowest X, Y, and Z values. The maximum point is the corner of the box with the highest X, Y, and Z values.

**SbVec3f**	**getCenter()**\
 Returns the center of the box.

**void**	**extendBy(const SbVec3f &point)**\
 **void**	**extendBy(const SbBox3f &box)**\
 Extends this box (if necessary) to contain the specified point or other box.

**SbBool**	**intersect(const SbVec3f &point)**\
 **SbBool**	**intersect(const SbBox3f &box)**\
 Returns **TRUE** if the specified **point** or **box** intersects this box.

**void**	**setBounds(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)**\
 **void**	**setBounds(const SbVec3f &min, const SbVec3f &max)**\
 Sets the corners of the box.

**void**	**getBounds(float &xmin, float &ymin, float &zmin, float &xmax, float &ymax, float &zmax)**\
 **void**	**getBounds(SbVec3f &min, SbVec3f &max)**\
 Gets the corners of the box.

**void**	**getOrigin(float &x0, float &y0, float &z0)**\
 Gets box origin which is the same as the minimum corner of the box.

**void**	**getSize(float &x, float &y, float &z)**\
 Gets box size.

**void**	**makeEmpty()**\
 Makes an empty box.

**SbBool**	**isEmpty()**\
 Returns **TRUE** if the box is empty, and **FALSE** otherwise.

**SbBool**	**hasVolume()**\
 Returns **TRUE** if all three dimensions of the box have positive size, and **FALSE** otherwise.

**void**	**getSpan(SbVec3f &dir, float &dMin, float &dMax)**\
 Finds the span of a box along a specified direction. The span is the total distance the box occupies along a given direction. The total distance is returned in the form of a minimum and maximum distance from the origin of each of the corners of the box along the given direction. The difference between these two values is the span.

**void**	**transform(const SbMatrix &mx)**\
 Transforms box by matrix, enlarging box to contain result.

**float**	**getVolume()**\
 Returns the volume of the box.

## SEE ALSO

**SbXfBox3f, SbBox2f, SbBox2s, SbVec3f, SbVec2f, SbVec2s, SbMatrix, SoGetBoundingBoxAction**
