.TH "SbBox3i32" 3 "Tue Jun 23 2026 23:48:38" "Version 4.0.10" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SbBox3i32 \- The \fBSbBox3i32\fP class is a 3 dimensional box with 32-bit integer coordinates\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSbBox3i32\fP (void)" .br .ti -1c .RI "\fBSbBox3i32\fP (int32_t xmin, int32_t ymin, int32_t zmin, int32_t xmax, int32_t ymax, int32_t zmax)" .br .ti -1c .RI "\fBSbBox3i32\fP (const \fBSbVec3i32\fP &minpoint, const \fBSbVec3i32\fP &maxpoint)" .br .ti -1c .RI "\fBSbBox3i32\fP (const \fBSbBox3s\fP &box)" .br .ti -1c .RI "\fBSbBox3i32\fP (const \fBSbBox3f\fP &box)" .br .ti -1c .RI "\fBSbBox3i32\fP (const \fBSbBox3d\fP &box)" .br .ti -1c .RI "\fBSbBox3i32\fP & \fBsetBounds\fP (int32_t xmin, int32_t ymin, int32_t zmin, int32_t xmax, int32_t ymax, int32_t zmax)" .br .ti -1c .RI "\fBSbBox3i32\fP & \fBsetBounds\fP (const \fBSbVec3i32\fP &minpoint, const \fBSbVec3i32\fP &maxpoint)" .br .ti -1c .RI "\fBSbBox3i32\fP & \fBsetBounds\fP (const \fBSbBox3s\fP &box)" .br .ti -1c .RI "\fBSbBox3i32\fP & \fBsetBounds\fP (const \fBSbBox3f\fP &box)" .br .ti -1c .RI "\fBSbBox3i32\fP & \fBsetBounds\fP (const \fBSbBox3d\fP &box)" .br .ti -1c .RI "void \fBgetBounds\fP (int32_t &xmin, int32_t &ymin, int32_t &zmin, int32_t &xmax, int32_t &ymax, int32_t &zmax) const" .br .ti -1c .RI "void \fBgetBounds\fP (\fBSbVec3i32\fP &minpoint, \fBSbVec3i32\fP &maxpoint) const" .br .ti -1c .RI "const \fBSbVec3i32\fP & \fBgetMin\fP (void) const" .br .ti -1c .RI "\fBSbVec3i32\fP & \fBgetMin\fP (void)" .br .ti -1c .RI "const \fBSbVec3i32\fP & \fBgetMax\fP (void) const" .br .ti -1c .RI "\fBSbVec3i32\fP & \fBgetMax\fP (void)" .br .ti -1c .RI "void \fBextendBy\fP (const \fBSbVec3i32\fP &point)" .br .ti -1c .RI "void \fBextendBy\fP (const \fBSbBox3i32\fP &box)" .br .ti -1c .RI "void \fBextendBy\fP (const \fBSbVec3f\fP &point)" .br .ti -1c .RI "void \fBtransform\fP (const \fBSbMatrix\fP &m)" .br .ti -1c .RI "void \fBmakeEmpty\fP (void)" .br .ti -1c .RI "SbBool \fBisEmpty\fP (void) const" .br .ti -1c .RI "SbBool \fBhasVolume\fP (void) const" .br .ti -1c .RI "float \fBgetVolume\fP (void) const" .br .ti -1c .RI "SbBool \fBintersect\fP (const \fBSbVec3i32\fP &point) const" .br .ti -1c .RI "SbBool \fBintersect\fP (const \fBSbBox3i32\fP &box) const" .br .ti -1c .RI "SbBool \fBintersect\fP (const \fBSbVec3f\fP &point) const" .br .ti -1c .RI "SbBool \fBoutside\fP (const \fBSbMatrix\fP &mvp, int &cullBits) const" .br .ti -1c .RI "\fBSbVec3f\fP \fBgetClosestPoint\fP (const \fBSbVec3f\fP &point) const" .br .ti -1c .RI "\fBSbVec3f\fP \fBgetCenter\fP (void) const" .br .ti -1c .RI "void \fBgetOrigin\fP (int32_t &originX, int32_t &originY, int32_t &originZ) const" .br .ti -1c .RI "void \fBgetSize\fP (int32_t &sizeX, int32_t &sizeY, int32_t &sizeZ) const" .br .ti -1c .RI "\fBSbVec3i32\fP \fBgetSize\fP (void) const" .br .ti -1c .RI "void \fBgetSpan\fP (const \fBSbVec3f\fP &direction, float &dmin, float &dmax) const" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBSbVec3i32\fP \fBminpt\fP" .br .ti -1c .RI "\fBSbVec3i32\fP \fBmaxpt\fP" .br .in -1c .SS "Related Symbols" (Note that these are not member symbols\&.) .in +1c .ti -1c .RI "int \fBoperator==\fP (const \fBSbBox3i32\fP &b1, const \fBSbBox3i32\fP &b2)" .br .ti -1c .RI "int \fBoperator!=\fP (const \fBSbBox3i32\fP &b1, const \fBSbBox3i32\fP &b2)" .br .in -1c .SH "Detailed Description" .PP The \fBSbBox3i32\fP class is a 3 dimensional box with 32-bit integer coordinates\&. This box class is used by other classes in Coin for data exchange\&. It provides storage for two box corners with 32-bit integer coordinates, which is among other things useful for representing screen or canvas areas in absolute window coordinates\&. .PP \fBSee also\fP .RS 4 \fBSbBox2f\fP, \fBSbBox2d\fP, \fBSbBox3s\fP, \fBSbBox3f\fP, \fBSbBox3d\fP, \fBSbXfBox3f\fP\&. .RE .PP .SH "Constructor & Destructor Documentation" .PP .SS "SbBox3i32::SbBox3i32 (void )\fR [inline]\fP" The default constructor makes an empty box\&. .SS "SbBox3i32::SbBox3i32 (int32_t xmin, int32_t ymin, int32_t zmin, int32_t xmax, int32_t ymax, int32_t zmax)\fR [inline]\fP" Constructs a box with the given corners\&. .PP \fIxmin\fP should be less than \fIxmax\fP, \fIymin\fP should be less than \fIymax\fP and \fIzmin\fP should be less than \fIzmax\fP if you want to make a valid box\&. .SS "SbBox3i32::SbBox3i32 (const \fBSbVec3i32\fP & minpoint, const \fBSbVec3i32\fP & maxpoint)\fR [inline]\fP" Constructs a box with the given corners\&. .PP The coordinates of \fIminpoint\fP should be less than the coordinates of \fImaxpoint\fP if you want to make a valid box\&. .SS "SbBox3i32::SbBox3i32 (const \fBSbBox3s\fP & box)\fR [inline]\fP, \fR [explicit]\fP" Constructs an \fBSbBox3i32\fP instance from the value in an \fBSbBox3s\fP instance\&. .PP \fBSince\fP .RS 4 Coin 2\&.5 .RE .PP .SS "SbBox3i32::SbBox3i32 (const \fBSbBox3f\fP & box)\fR [inline]\fP, \fR [explicit]\fP" Constructs an \fBSbBox3i32\fP instance from the value in an \fBSbBox3f\fP instance\&. .PP \fBSince\fP .RS 4 Coin 2\&.5 .RE .PP .SS "SbBox3i32::SbBox3i32 (const \fBSbBox3d\fP & box)\fR [inline]\fP, \fR [explicit]\fP" Constructs an \fBSbBox3i32\fP instance from the value in an \fBSbBox3d\fP instance\&. .PP \fBSince\fP .RS 4 Coin 2\&.5 .RE .PP .SH "Member Function Documentation" .PP .SS "\fBSbBox3i32\fP & SbBox3i32::setBounds (int32_t xmin, int32_t ymin, int32_t zmin, int32_t xmax, int32_t ymax, int32_t zmax)\fR [inline]\fP" Reset the boundaries of the box\&. .PP \fIxmin\fP should be less than \fIxmax\fP, \fIymin\fP should be less than \fIymax\fP and \fIzmin\fP should be less than \fIzmax\fP if you want to make a valid box\&. .PP Returns reference to self\&. .PP \fBSee also\fP .RS 4 \fBgetBounds()\fP\&. .RE .PP .SS "\fBSbBox3i32\fP & SbBox3i32::setBounds (const \fBSbVec3i32\fP & minpoint, const \fBSbVec3i32\fP & maxpoint)\fR [inline]\fP" Reset the boundaries of the box with the given corners\&. .PP The coordinates of \fIminpoint\fP should be less than the coordinates of \fImaxpoint\fP if you want to make a valid box\&. .PP Returns reference to self\&. .PP \fBSee also\fP .RS 4 \fBgetBounds()\fP\&. .RE .PP .SS "\fBSbBox3i32\fP & SbBox3i32::setBounds (const \fBSbBox3s\fP & box)" Reset the boundaries to the boundaries of the given \fIbox\fP\&. .PP Returns reference to self\&. .PP \fBSee also\fP .RS 4 \fBgetBounds()\fP .RE .PP .SS "\fBSbBox3i32\fP & SbBox3i32::setBounds (const \fBSbBox3f\fP & box)" Reset the boundaries to the boundaries of the given \fIbox\fP\&. .PP Returns reference to self\&. .PP \fBSee also\fP .RS 4 \fBgetBounds()\fP .RE .PP .SS "\fBSbBox3i32\fP & SbBox3i32::setBounds (const \fBSbBox3d\fP & box)" Reset the boundaries to the boundaries of the given \fIbox\fP\&. .PP Returns reference to self\&. .PP \fBSee also\fP .RS 4 \fBgetBounds()\fP .RE .PP .SS "void SbBox3i32::getBounds (int32_t & xmin, int32_t & ymin, int32_t & zmin, int32_t & xmax, int32_t & ymax, int32_t & zmax) const\fR [inline]\fP" Returns the box boundaries\&. .PP \fBSee also\fP .RS 4 \fBsetBounds()\fP\&. .RE .PP .SS "void SbBox3i32::getBounds (\fBSbVec3i32\fP & minpoint, \fBSbVec3i32\fP & maxpoint) const\fR [inline]\fP" Returns the box corner points\&. .PP \fBSee also\fP .RS 4 \fBsetBounds()\fP\&. .RE .PP .SS "const \fBSbVec3i32\fP & SbBox3i32::getMin (void ) const\fR [inline]\fP" Returns the minimum point\&. This should usually be the lower left corner point of the box\&. .PP \fBSee also\fP .RS 4 \fBgetOrigin()\fP, \fBgetMax()\fP\&. .RE .PP .SS "\fBSbVec3i32\fP & SbBox3i32::getMin (void )\fR [inline]\fP" Returns a modifiable reference to the minimum point\&. .SS "const \fBSbVec3i32\fP & SbBox3i32::getMax (void ) const\fR [inline]\fP" Returns the maximum point\&. This should usually be the upper right corner point of the box\&. .PP \fBSee also\fP .RS 4 \fBgetMin()\fP\&. .RE .PP .SS "\fBSbVec3i32\fP & SbBox3i32::getMax (void )\fR [inline]\fP" Returns a modifiable reference to the maximum point\&. .SS "void SbBox3i32::extendBy (const \fBSbVec3i32\fP & 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\&. .SS "void SbBox3i32::extendBy (const \fBSbBox3i32\fP & box)" Extend the boundaries of the box by the given \fIbox\fP parameter\&. This is equal to calling \fBextendBy()\fP twice with the corner points\&. .SS "void SbBox3i32::extendBy (const \fBSbVec3f\fP & 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\&. .SS "void SbBox3i32::transform (const \fBSbMatrix\fP & matrix)" Transform the box by the matrix, and change its boundaries to contain the transformed box\&. .PP Doesn't touch illegal/empty boxes\&. .SS "void SbBox3i32::makeEmpty (void )" Marks this as an empty box\&. .PP \fBSee also\fP .RS 4 \fBisEmpty()\fP\&. .RE .PP .SS "SbBool SbBox3i32::isEmpty (void ) const\fR [inline]\fP" Check if this has been marked as an empty box\&. .PP \fBSee also\fP .RS 4 \fBmakeEmpty()\fP\&. .RE .PP .SS "SbBool SbBox3i32::hasVolume (void ) const\fR [inline]\fP" 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)\&. .SS "float SbBox3i32::getVolume (void ) const\fR [inline]\fP" Returns the volume of the box\&. .SS "SbBool SbBox3i32::intersect (const \fBSbVec3i32\fP & point) const" Check if the given point lies within the boundaries of this box\&. .SS "SbBool SbBox3i32::intersect (const \fBSbBox3i32\fP & box) const" Check if \fIbox\fP lies entirely or partially within the boundaries of this box\&. .SS "SbBool SbBox3i32::intersect (const \fBSbVec3f\fP & point) const" Check if the given point lies within the boundaries of this box\&. .SS "SbBool SbBox3i32::outside (const \fBSbMatrix\fP & mvp, int & cullbits) const" Check if the box is outside the view volume defined by the \fImvp\fP matrix\&. Sets \fIcullbits\fP according to which planes we're inside or outside\&. Bit 0 (0x1) is cleared when box is completely inside left and right clipping planes\&. Bit 1 (0x2) is cleared when box is inside top and bottom clipping planes\&. Bit 2 (0x4) is cleared when box is inside near and far clipping planes\&. .PP Returns \fRTRUE\fP if box is completely outside one of the clipping planes\&. \fRFALSE\fP otherwise\&. .SS "\fBSbVec3f\fP SbBox3i32::getClosestPoint (const \fBSbVec3f\fP & point) const" Return the point on the box closest to the given \fIpoint\fP\&. If the given point equals the center, the center point of the positive Z face is returned\&. .SS "\fBSbVec3f\fP SbBox3i32::getCenter (void ) const\fR [inline]\fP" Returns the center point of the box\&. .SS "void SbBox3i32::getOrigin (int32_t & originX, int32_t & originY, int32_t & originZ) const\fR [inline]\fP" Returns the coordinates of the box origin (i\&.e\&. the lower left corner)\&. .PP \fBSee also\fP .RS 4 \fBgetMin()\fP\&. .RE .PP .SS "void SbBox3i32::getSize (int32_t & sizeX, int32_t & sizeY, int32_t & sizeZ) const\fR [inline]\fP" Returns width, height and depth of box\&. .SS "\fBSbVec3i32\fP SbBox3i32::getSize (void ) const\fR [inline]\fP" Returns width, height and depth of box as a 3D vector\&. .PP \fBSince\fP .RS 4 Coin 3\&.0 .RE .PP .SS "void SbBox3i32::getSpan (const \fBSbVec3f\fP & dir, float & dmin, float & 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\&. .SH "Friends And Related Symbol Documentation" .PP .SS "int operator== (const \fBSbBox3i32\fP & b1, const \fBSbBox3i32\fP & b2)\fR [related]\fP" Check \fIb1\fP and \fIb2\fP for equality\&. .SS "int operator!= (const \fBSbBox3i32\fP & b1, const \fBSbBox3i32\fP & b2)\fR [related]\fP" Check \fIb1\fP and \fIb2\fP for inequality\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.