SbBox3f - Online Linux Manual Page

Section : 3
Updated : Mon Jan 25 2021
Source : Version 2.5.0
Note : Coin

NAMESbBox3f − The SbBox3f class is an abstraction for an axis aligned 3 dimensional box​.

SYNOPSIS
#include <Inventor/SbBox​.h> Inherited by SbXfBox3f​.

Public Member FunctionsSbBox3f (void)
SbBox3f (const float minx, const float miny, const float minz, const float maxx, const float maxy, const float maxz)
SbBox3f (const SbVec3f &min, const SbVec3f &max)
SbBox3f (const SbBox3d &box)
SbBox3f (const SbBox3s &box)
SbBox3f (const SbBox3i32 &box)
~SbBox3f ()
void setBounds (const float minx, const float miny, const float minz, const float maxx, const float maxy, const float maxz)
void setBounds (const SbVec3f &min, const SbVec3f &max)
SbBox3f & setBounds (const SbBox3d &box)
SbBox3f & setBounds (const SbBox3s &box)
SbBox3f & setBounds (const SbBox3i32 &box)
void getBounds (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) const
void getBounds (SbVec3f &min, SbVec3f &max) const
const SbVec3f & getMin (void) const
SbVec3f & getMin (void)
const SbVec3f & getMax (void) const
SbVec3f & getMax (void)
void extendBy (const SbVec3f &point)
void extendBy (const SbBox3f &box)
void transform (const SbMatrix &matrix)
void makeEmpty (void)
SbBool isEmpty (void) const
SbBool hasVolume (void) const
float getVolume (void) const
SbBool intersect (const SbVec3f &point) const
SbBool intersect (const SbBox3f &box) const
SbVec3f getClosestPoint (const SbVec3f &point) const
SbBool outside (const SbMatrix &mvp, int &cullbits) const
SbVec3f getCenter (void) const
void getOrigin (float &x0, float &y0, float &z0) const
void getSize (float &dx, float &dy, float &dz) const
void getSpan (const SbVec3f &dir, float &dmin, float &dmax) const
void print (FILE *file) const

Friendsint operator== (const SbBox3f &b1, const SbBox3f &b2)
int operator!= (const SbBox3f &b1, const SbBox3f &b2)

Related Functions(Note that these are not member functions​.) int operator== (const SbBox3f &b1, const SbBox3f &b2)
int operator!= (const SbBox3f &b1, const SbBox3f &b2)

Detailed DescriptionThe SbBox3f class is an abstraction for an axis aligned 3 dimensional box​. This box abstraction class is used by other entities in the Coin library for data exchange and storage​. It provides a representation of the defining corners of a box in 3D space, with the sides aligned with the 3 principal axes​. See also SbBox2d, SbBox2f, SbBox2i32, SbBox2s, SbBox3d, SbBox3i32, SbBox3s, SbXfBox3d, SbXfBox3f

Constructor & Destructor Documentation

SbBox3f::SbBox3f (void)The default constructor makes an empty box​. References makeEmpty()​.

SbBox3f::SbBox3f (const float minx, const float miny, const float minz, const float maxx, const float maxy, const float maxz)Constructs a box with the given corners​. minx should be less than maxx, miny should be less than maxy and minz should be less than maxz if you want to make a valid box​. References setBounds()​.

SbBox3f::SbBox3f (const SbVec3f & minval, const SbVec3f & maxval)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​.

SbBox3f::SbBox3f (const SbBox3d & box) [inline], [explicit]Constructs a box with coordinates from box, converting the coordinates to floating point precision values Since Coin-2​.5

SbBox3f::SbBox3f (const SbBox3s & box) [inline], [explicit]Constructs a box with coordinates from box, converting the coordinates to floating point precision values Since Coin-2​.5

SbBox3f::SbBox3f (const SbBox3i32 & box) [inline], [explicit]Constructs a box with coordinates from box, converting the coordinates to floating point precision values Since Coin-2​.5

SbBox3f::~SbBox3f (void)Default destructor does nothing​.

Member Function Documentation

void SbBox3f::setBounds (const float minx, const float miny, const float minz, const float maxx, const float maxy, const float maxz)Reset the boundaries of the box​. minx should be less than maxx, miny should be less than maxy and minz should be less than maxz if you want to make a valid box​. See also getBounds()​. References SoDebugError::postWarning(), and SbVec3f::setValue()​. Referenced by SoVRMLElevationGrid::computeBBox(), SoAsciiText::computeBBox(), SoCone::computeBBox(), SoCube::computeBBox(), SoCylinder::computeBBox(), SoSphere::computeBBox(), SoText3::computeBBox(), SoVRMLBox::computeBBox(), SoVRMLCone::computeBBox(), SoVRMLCylinder::computeBBox(), SoVRMLSphere::computeBBox(), SoVRMLText::computeBBox(), SbXfBox3f::extendBy(), extendBy(), SbBox3f(), and transform()​.

void SbBox3f::setBounds (const SbVec3f & minval, const SbVec3f & maxval)Reset the boundaries of the 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​. See also getBounds()​. References SoDebugError::postWarning()​.

SbBox3f & SbBox3f::setBounds (const SbBox3d & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also getBounds()​. Since Coin-2​.5 References SbBox3d::getMax(), SbBox3d::getMin(), SbBox3d::isEmpty(), makeEmpty(), and SbVec3f::setValue()​.

SbBox3f & SbBox3f::setBounds (const SbBox3s & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also getBounds()​. Since Coin-2​.5 References SbBox3s::getMax(), SbBox3s::getMin(), SbBox3s::isEmpty(), makeEmpty(), and SbVec3f::setValue()​.

SbBox3f & SbBox3f::setBounds (const SbBox3i32 & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also getBounds()​. Since Coin-2​.5 References SbBox3i32::getMax(), SbBox3i32::getMin(), SbBox3i32::isEmpty(), makeEmpty(), and SbVec3f::setValue()​.

void SbBox3f::getBounds (float & minx, float & miny, float & minz, float & maxx, float & maxy, float & maxz) constReturns the box boundaries​. See also setBounds()​. References SbVec3f::getValue()​. Referenced by SoShape::getScreenSize(), print(), and SbXfBox3f::print()​.

void SbBox3f::getBounds (SbVec3f & minobj, SbVec3f & maxobj) constReturns the box corner points​. See also setBounds()​.

const SbVec3f & SbBox3f::getMin (void) constReturns the minimum point​. This should usually be the lower left corner point of the box​. See also getOrigin(), getMax()​. Referenced by SoAsciiText::computeBBox(), SoText3::computeBBox(), SoVRMLText::computeBBox(), SbXfBox3f::extendBy(), SbBSPTree::findClosest(), SoShape::GLRenderBoundingBox(), SbXfBox3f::intersect(), SbViewVolume::intersect(), SoRayPickAction::intersect(), SbBox3d::setBounds(), SbBox3i32::setBounds(), SbBox3s::setBounds(), and SoCamera::viewAll()​.

SbVec3f & SbBox3f::getMin (void)Returns a modifiable reference the minimum point​.

const SbVec3f & SbBox3f::getMax (void) constReturns the maximum point​. This should usually be the upper right corner point of the box​. See also getMin()​. Referenced by SoText3::computeBBox(), SbXfBox3f::extendBy(), SbBSPTree::findClosest(), SoShape::GLRenderBoundingBox(), SbXfBox3f::intersect(), SbViewVolume::intersect(), SoRayPickAction::intersect(), SbBox3d::setBounds(), SbBox3i32::setBounds(), SbBox3s::setBounds(), and SoCamera::viewAll()​.

SbVec3f & SbBox3f::getMax (void)Returns a modifiable reference the maximum point​.

void SbBox3f::extendBy (const SbVec3f & 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 so​. References isEmpty(), setBounds(), and SbVec3f::setValue()​. Referenced by SoWWWInline::addBoundingBoxChild(), SbBSPTree::addPoint(), SoVRMLExtrusion::computeBBox(), SoAsciiText::computeBBox(), SoImage::computeBBox(), SoIndexedNurbsCurve::computeBBox(), SoIndexedNurbsSurface::computeBBox(), SoIndexedShape::computeBBox(), SoNurbsCurve::computeBBox(), SoNurbsSurface::computeBBox(), SoText3::computeBBox(), SoVRMLIndexedLine::computeBBox(), SoVRMLIndexedShape::computeBBox(), SoVRMLText::computeBBox(), SoVRMLVertexPoint::computeBBox(), SoNonIndexedShape::computeCoordBBox(), extendBy(), SbXfBox3f::extendBy(), SbViewVolume::intersect(), and transform()​.

void SbBox3f::extendBy (const SbBox3f & box)Extend the boundaries of the box by the given box parameter​. This is equal to calling extendBy() twice with the corner points​. References extendBy(), isEmpty(), and SoDebugError::postWarning()​.

void SbBox3f::transform (const SbMatrix & matrix)Transform the box by the matrix, and change its boundaries to contain the transformed box​. Doesn't touch illegal/empty boxes​. References extendBy(), isEmpty(), SbMatrix::multVecMatrix(), SoDebugError::postWarning(), setBounds(), and SbVec3f::setValue()​. Referenced by SbProjector::findVanishingDistance(), and SbXfBox3f::project()​.

void SbBox3f::makeEmpty (void)Marks this as an empty box​. See also isEmpty()​. References SbVec3f::setValue()​. Referenced by SoGetBoundingBoxAction::beginTraversal(), SoGetBoundingBoxAction::checkResetAfter(), SoGetBoundingBoxAction::checkResetBefore(), SbBSPTree::clear(), SoVRMLExtrusion::computeBBox(), SoImage::computeBBox(), SoIndexedNurbsCurve::computeBBox(), SoIndexedNurbsSurface::computeBBox(), SoNurbsCurve::computeBBox(), SoNurbsSurface::computeBBox(), SoVRMLIndexedLine::computeBBox(), SoVRMLIndexedShape::computeBBox(), SoVRMLVertexPoint::computeBBox(), SoArray::getBoundingBox(), SoLevelOfDetail::getBoundingBox(), SoMultipleCopy::getBoundingBox(), SoResetTransform::getBoundingBox(), SoSeparator::getBoundingBox(), SoVRMLGroup::getBoundingBox(), SbBox3f(), and setBounds()​.

SbBool SbBox3f::isEmpty (void) constCheck if this has been marked as an empty box​. See also makeEmpty()​. Referenced by SbSphere::circumscribe(), SoVRMLExtrusion::computeBBox(), SoAsciiText::computeBBox(), SoIndexedShape::computeBBox(), SoVRMLIndexedLine::computeBBox(), SoVRMLIndexedShape::computeBBox(), SoVRMLVertexPoint::computeBBox(), SoSeparator::cullTest(), SoVRMLGroup::cullTest(), SoGetBoundingBoxAction::extendBy(), extendBy(), SbXfBox3f::extendBy(), SoArray::getBoundingBox(), SoLevelOfDetail::getBoundingBox(), SoMultipleCopy::getBoundingBox(), SoSeparator::getBoundingBox(), SoShape::getBoundingBox(), SoVRMLGroup::getBoundingBox(), SoVRMLInline::getBoundingBox(), getCenter(), getSize(), SbXfBox3f::intersect(), SbXfBox3f::project(), SbBox3d::setBounds(), SbBox3i32::setBounds(), SbBox3s::setBounds(), transform(), SoSurroundScale::updateMySurroundParams(), SoCamera::viewAll(), SoFrustumCamera::viewBoundingBox(), SoOrthographicCamera::viewBoundingBox(), and SoPerspectiveCamera::viewBoundingBox()​.

SbBool SbBox3f::hasVolume (void) constCheck if the box has been correctly specified and by that virtue has volume​. Referenced by getVolume(), and SbXfBox3f::getVolume()​.

float SbBox3f::getVolume (void) constCheck if the box has 'positive' volume, i​.e​. the lower left corner is actually lower and more left than the maximum point​. References hasVolume()​. Referenced by SbXfBox3f::extendBy(), and SbXfBox3f::getVolume()​.

SbBool SbBox3f::intersect (const SbVec3f & point) constCheck if the given point lies within the boundaries of this box​. Referenced by SoVRMLProximitySensor::doAction(), and SbXfBox3f::intersect()​.

SbBool SbBox3f::intersect (const SbBox3f & box) constCheck if the given box lies wholly or partly within the boundaries of this box​.

SbVec3f SbBox3f::getClosestPoint (const SbVec3f & point) constReturn the point on the box closest to the given point​. References getCenter()​.

SbBool SbBox3f::outside (const SbMatrix & mvp, int & cullbits) constCheck if the box is outside the view volume defined by the mvp matrix​. Sets cullbits 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​. Returns TRUE if box is completely outside one of the clipping planes​. FALSE otherwise​. References SbMatrix::multVecMatrix()​.

SbVec3f SbBox3f::getCenter (void) constReturns the center point of the box​. References isEmpty(), and SoDebugError::postWarning()​. Referenced by SoWWWInline::addBoundingBoxChild(), SbSphere::circumscribe(), SoVRMLElevationGrid::computeBBox(), SoVRMLExtrusion::computeBBox(), SoAsciiText::computeBBox(), SoImage::computeBBox(), SoText3::computeBBox(), SoVRMLIndexedLine::computeBBox(), SoVRMLIndexedShape::computeBBox(), SoVRMLText::computeBBox(), SoVRMLVertexPoint::computeBBox(), SbXfBox3f::getCenter(), getClosestPoint(), SoClipPlaneManip::setValue(), SoSurroundScale::updateMySurroundParams(), SoFrustumCamera::viewBoundingBox(), SoOrthographicCamera::viewBoundingBox(), and SoPerspectiveCamera::viewBoundingBox()​.

void SbBox3f::getOrigin (float & x0, float & y0, float & z0) constReturns the coordinates of the box origin (i​.e​. the lower left corner)​. See also getMin()​. References SbVec3f::getValue()​. Referenced by SbXfBox3f::print()​.

void SbBox3f::getSize (float & dx, float & dy, float & dz) constReturns width, height and depth of box​. References isEmpty(), and SoDebugError::postWarning()​. Referenced by SoWWWInline::addBoundingBoxChild(), SbSphere::circumscribe(), SbXfBox3f::print(), SoClipPlaneManip::setValue(), and SoSurroundScale::updateMySurroundParams()​.

void SbBox3f::getSpan (const SbVec3f & dir, float & dmin, float & dmax) constFind 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​. References SbVec3f::dot(), SbVec3f::normalize(), SoDebugError::postWarning(), and SbVec3f::setValue()​. Referenced by SbXfBox3f::getSpan()​.

void SbBox3f::print (FILE * fp) constDump the state of this object to the file stream​. Only works in debug version of library, method does nothing in an optimized compile​. References getBounds(), and SbVec3f::print()​. Referenced by SbXfBox3f::print()​.

Friends And Related Function Documentation

int operator== (const SbBox3f & b1, const SbBox3f & b2) [friend]Check b1 and b2 for equality​.

int operator!= (const SbBox3f & b1, const SbBox3f & b2) [friend]Check b1 and b2 for inequality​.

int operator== (const SbBox3f & b1, const SbBox3f & b2) [related]Check b1 and b2 for equality​.

int operator!= (const SbBox3f & b1, const SbBox3f & b2) [related]Check b1 and b2 for inequality​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   78,252 byte
man-SbBox3f.3coin2Build   :   2025-03-22, 13:26   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 2,084,048
Visitor ID   :     :  
Visitor IP   :   216.73.216.62   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   37.751000 x -97.822000   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :     :  
Provider Province   :   ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 25.03.22
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36


Very long time ago, I have the best tutor, Wenzel Svojanovsky. If someone knows the email address of Wenzel Svojanovsky, please send an email to johanesgumabo@gmail.com.
Help me, linux0001.com will expire on July 16, 2025. I have no money to renew it. View detail

If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.