---
name: "SbBox3s"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SbBox3s"
---

# SbBox3s(3)

The SbBox3s class is a 3 dimensional box with short integer coordinates.

## NAME

SbBox3s - The **SbBox3s** class is a 3 dimensional box with short integer coordinates.

## SYNOPSIS

\#include \<Inventor/SbBox3s.h\>

### Public Member Functions

**SbBox3s** (void)\
 **SbBox3s** (short xmin, short ymin, short zmin, short xmax, short ymax, short zmax)\
 **SbBox3s** (const **SbVec3s** &minpoint, const **SbVec3s** &maxpoint)\
 **SbBox3s** (const **SbBox3i32** &box)\
 **SbBox3s** (const **SbBox3f** &box)\
 **SbBox3s** (const **SbBox3d** &box)\
 **SbBox3s** & **setBounds** (short xmin, short ymin, short zmin, short xmax, short ymax, short zmax)\
 **SbBox3s** & **setBounds** (const **SbVec3s** &minpoint, const **SbVec3s** &maxpoint)\
 **SbBox3s** & **setBounds** (const **SbBox3i32** &box)\
 **SbBox3s** & **setBounds** (const **SbBox3f** &box)\
 **SbBox3s** & **setBounds** (const **SbBox3d** &box)\
 void **getBounds** (short &xmin, short &ymin, short &zmin, short &xmax, short &ymax, short &zmax) const\
 void **getBounds** (**SbVec3s** &minpoint, **SbVec3s** &maxpoint) const\
 const **SbVec3s** & **getMin** (void) const\
 **SbVec3s** & **getMin** (void)\
 const **SbVec3s** & **getMax** (void) const\
 **SbVec3s** & **getMax** (void)\
 void **extendBy** (const **SbVec3s** &pt)\
 void **extendBy** (const **SbBox3s** &box)\
 void **makeEmpty** (void)\
 SbBool **isEmpty** (void) const\
 SbBool **hasVolume** (void) const\
 int **getVolume** (void) const\
 SbBool **intersect** (const **SbVec3s** &pt) const\
 SbBool **intersect** (const **SbBox3s** &box) const\
 **SbVec3f** **getClosestPoint** (const **SbVec3f** &pt) const\
 **SbVec3f** **getCenter** (void) const\
 void **getOrigin** (short &originX, short &originY, short &originZ) const\
 void **getSize** (short &sizeX, short &sizeY, short &sizeZ) const\
 **SbVec3s** **getSize** (void) const\

### Protected Attributes

**SbVec3s** **minpt**\
 **SbVec3s** **maxpt**\

### Related Symbols

(Note that these are not member symbols.)  int **operator==** (const **SbBox3s** &b1, const **SbBox3s** &b2)\
 int **operator!=** (const **SbBox3s** &b1, const **SbBox3s** &b2)\

## Detailed Description

The **SbBox3s** class is a 3 dimensional box with short integer coordinates.

This box class is used by other classes in Coin for data exchange. It provides storage for two box corners with short integer coordinates.

**See also**

**SbBox2s**, **SbBox2f**, **SbBox2d**, **SbBox3f**, **SbBox3d**, **SbXfBox3f**.

**Since**

Coin 2.0

TGS Inventor ?.?

## Constructor & Destructor Documentation

### SbBox3s::SbBox3s (void ) \[inline\]

The default constructor makes an empty box.

### SbBox3s::SbBox3s (short xmin, short ymin, short zmin, short xmax, short ymax, short zmax) \[inline\]

Constructs a box with the given corner coordinates.

*xmin* should be less than *xmax*, *ymin* should be less than *ymax*, and *zmin* should be less than *zmax* if you want to make a valid box.

### SbBox3s::SbBox3s (const SbVec3s & minvec, const SbVec3s & maxvec) \[inline\]

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.

### SbBox3s::SbBox3s (const SbBox3i32 & box) \[inline\], \[explicit\]

Constructs an **SbBox3s** instance from the value in an **SbBox3i32** instance.

**Since**

Coin 2.5

### SbBox3s::SbBox3s (const SbBox3f & box) \[inline\], \[explicit\]

Constructs an **SbBox3s** instance from the value in an **SbBox3f** instance.

**Since**

Coin 2.5

### SbBox3s::SbBox3s (const SbBox3d & box) \[inline\], \[explicit\]

Constructs an **SbBox3s** instance from the value in an **SbBox3d** instance.

**Since**

Coin 2.5

## Member Function Documentation

### SbBox3s & SbBox3s::setBounds (short xmin, short ymin, short zmin, short xmax, short ymax, short zmax) \[inline\]

Reset the boundaries of the box.

*xmin* should be less than *xmax*, *ymin* should be less than *ymax*, and *zmin* should be less than *xmax* if you want to make a valid box.

Returns reference to self.

**See also**

**getBounds()**.

### SbBox3s & SbBox3s::setBounds (const SbVec3s & minvec, const SbVec3s & maxvec) \[inline\]

Reset the boundaries of the box with the given corners.

The coordinates of *minvec* should be less than the coordinates of *maxvec* if you want to make a valid box.

Returns reference to self.

**See also**

**getBounds()**.

### SbBox3s & SbBox3s::setBounds (const SbBox3i32 & box)

Reset the boundaries to the boundaries of the given *box*.

Returns reference to self.

**See also**

**getBounds()**.

### SbBox3s & SbBox3s::setBounds (const SbBox3f & box)

Reset the boundaries to the boundaries of the given *box*.

Returns reference to self.

**See also**

**getBounds()**.

### SbBox3s & SbBox3s::setBounds (const SbBox3d & box)

Reset the boundaries to the boundaries of the given *box*.

Returns reference to self.

**See also**

**getBounds()**.

### void SbBox3s::getBounds (short & xmin, short & ymin, short & zmin, short & xmax, short & ymax, short & zmax) const \[inline\]

Returns the box boundary coordinates.

**See also**

**setBounds()**, **getMin()**, **getMax()**.

### void SbBox3s::getBounds (SbVec3s & minvec, SbVec3s & maxvec) const \[inline\]

Returns the box corner points.

**See also**

**setBounds()**, **getMin()**, **getMax()**.

### const SbVec3s & SbBox3s::getMin (void ) const \[inline\]

Returns the minimum point. This should usually be the lower left corner point of the box.

**See also**

**getOrigin()**, **getMax()**.

### SbVec3s & SbBox3s::getMin (void ) \[inline\]

Returns a modifiable reference to the minimum point.

### const SbVec3s & SbBox3s::getMax (void ) const \[inline\]

Returns the maximum point. This should usually be the upper right corner point of the box.

**See also**

**getMin()**.

### SbVec3s & SbBox3s::getMax (void ) \[inline\]

Returns a modifiable reference to the maximum point.

### void SbBox3s::extendBy (const SbVec3s & point)

Extend the boundaries of the box by the given point, i.e. make the point fit inside the box if it isn't already within it.

### void SbBox3s::extendBy (const SbBox3s & box)

Extend the boundaries of the box by the given *box* parameter. This is equal to calling **extendBy()** twice with the corner points.

### void SbBox3s::makeEmpty (void )

Marks this as an empty box.

**See also**

**isEmpty()**.

### SbBool SbBox3s::isEmpty (void ) const \[inline\]

Check if this has been marked as an empty box.

**See also**

**makeEmpty()**.

### SbBool SbBox3s::hasVolume (void ) const \[inline\]

Check if the box has been correctly specified and by that virtue has "positive" volume, i.e. all coordinates of its upper right corner (the maximum point) are greater than the corresponding coordinates of its lower left corner (the minimum point).

### int SbBox3s::getVolume (void ) const \[inline\]

Returns the volume of the box.

### SbBool SbBox3s::intersect (const SbVec3s & point) const

Check if the given point lies within the boundaries of this box.

### SbBool SbBox3s::intersect (const SbBox3s & box) const

Check if *box* lies entirely or partially within the boundaries of this box.

### SbVec3f SbBox3s::getClosestPoint (const SbVec3f & point) const

Return the point on the box closest to the given *point*. If the given point equals the center, the center point of the positive Z face is returned.

### SbVec3f SbBox3s::getCenter (void ) const \[inline\]

Returns the center point of the box.

### void SbBox3s::getOrigin (short & originX, short & originY, short & originZ) const \[inline\]

Returns the coordinates of the box origin (i.e. the lower left corner).

**See also**

**getMin()**.

### void SbBox3s::getSize (short & sizeX, short & sizeY, short & sizeZ) const \[inline\]

Returns width and height of box.

### SbVec3s SbBox3s::getSize (void ) const \[inline\]

Returns width, height and depth of box as a 3D vector.

**Since**

Coin 3.0

## Friends And Related Symbol Documentation

### int operator== (const SbBox3s & b1, const SbBox3s & b2) \[related\]

Check *b1* and *b2* for equality.

### int operator!= (const SbBox3s & b1, const SbBox3s & b2) \[related\]

Check *b1* and *b2* for inequality.

## Author

Generated automatically by Doxygen for Coin from the source code.
