SbBox3d - Online Linux Manual Page

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

NAMESbBox3d − The SbBox3d class is an abstraction for an axis aligned 3 dimensional box​.

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

Public Member FunctionsSbBox3d (void)
SbBox3d (double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
SbBox3d (const SbVec3d &minpoint, const SbVec3d &maxpoint)
SbBox3d (const SbBox3f &box)
SbBox3d (const SbBox3s &box)
SbBox3d (const SbBox3i32 &box)
SbBox3d & setBounds (double xmin, double ymin, double zmin, double xmax, double ymax, double zmax)
SbBox3d & setBounds (const SbVec3d &minpoint, const SbVec3d &maxpoint)
SbBox3d & setBounds (const SbBox3f &box)
SbBox3d & setBounds (const SbBox3s &box)
SbBox3d & setBounds (const SbBox3i32 &box)
void getBounds (double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) const
void getBounds (SbVec3d &minpoint, SbVec3d &maxpoint) const
const SbVec3d & getMin (void) const
SbVec3d & getMin (void)
const SbVec3d & getMax (void) const
SbVec3d & getMax (void)
void extendBy (const SbVec3d &pt)
void extendBy (const SbBox3d &box)
void transform (const SbDPMatrix &matrix)
void makeEmpty (void)
SbBool isEmpty (void) const
SbBool hasVolume (void) const
double getVolume (void) const
SbBool intersect (const SbVec3d &point) const
SbBool intersect (const SbBox3d &box) const
SbVec3d getClosestPoint (const SbVec3d &point) const
SbBool outside (const SbDPMatrix &mvp, int &cullbits) const
SbVec3d getCenter (void) const
void getOrigin (double &origoX, double &origoY, double &origoZ) const
void getSize (double &sizeX, double &sizeY, double &sizeZ) const
void getSpan (const SbVec3d &dir, double &dmin, double &dmax) const
void print (FILE *file) const

Protected AttributesSbVec3d minpt
SbVec3d maxpt

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

Detailed DescriptionThe SbBox3d 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, SbBox3f, SbBox3i32, SbBox3s, SbXfBox3d, SbXfBox3f

Constructor & Destructor Documentation

SbBox3d::SbBox3d (void) [inline]The default constructor makes an empty box​.

SbBox3d::SbBox3d (double minx, double miny, double minz, double maxx, double maxy, double maxz) [inline]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​.

SbBox3d::SbBox3d (const SbVec3d & minval, const SbVec3d & maxval) [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​.

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

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

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

Member Function Documentation

SbBox3d & SbBox3d::setBounds (double xmin, double ymin, double zmin, double xmax, double ymax, double zmax) [inline]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​. Returns reference to self​. See also getBounds()​. Referenced by SbXfBox3d::extendBy(), extendBy(), and transform()​.

SbBox3d & SbBox3d::setBounds (const SbVec3d & minval, const SbVec3d & maxval) [inline]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​. Returns reference to self​. See also getBounds()​.

SbBox3d & SbBox3d::setBounds (const SbBox3f & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also setBounds() References SbBox3f::getMax(), SbBox3f::getMin(), SbBox3f::isEmpty(), makeEmpty(), and SbVec3d::setValue()​.

SbBox3d & SbBox3d::setBounds (const SbBox3s & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also setBounds() References SbBox3s::getMax(), SbBox3s::getMin(), SbBox3s::isEmpty(), makeEmpty(), and SbVec3d::setValue()​.

SbBox3d & SbBox3d::setBounds (const SbBox3i32 & box)Reset the boundaries to the boundaries of the given box​. Returns reference to self​. See also setBounds() References SbBox3i32::getMax(), SbBox3i32::getMin(), SbBox3i32::isEmpty(), makeEmpty(), and SbVec3d::setValue()​.

void SbBox3d::getBounds (double & minx, double & miny, double & minz, double & maxx, double & maxy, double & maxz) const [inline]Returns the box boundaries​. See also setBounds()​. Referenced by print()​.

void SbBox3d::getBounds (SbVec3d & minobj, SbVec3d & maxobj) const [inline]Returns the box corner points​. See also setBounds()​.

const SbVec3d & SbBox3d::getMin (void) const [inline]Returns the minimum point​. This should usually be the lower left corner point of the box​. See also getOrigin(), getMax()​. Referenced by SbXfBox3d::extendBy(), SbXfBox3d::intersect(), operator==(), SbBox3f::setBounds(), SbBox3i32::setBounds(), and SbBox3s::setBounds()​.

SbVec3d & SbBox3d::getMin (void) [inline]Returns a modifiable reference the minimum point​.

const SbVec3d & SbBox3d::getMax (void) const [inline]Returns the maximum point​. This should usually be the upper right corner point of the box​. See also getMin()​. Referenced by SbXfBox3d::extendBy(), SbXfBox3d::intersect(), operator==(), SbBox3f::setBounds(), SbBox3i32::setBounds(), and SbBox3s::setBounds()​.

SbVec3d & SbBox3d::getMax (void) [inline]Returns a modifiable reference the maximum point​.

void SbBox3d::extendBy (const SbVec3d & 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 SbVec3d::setValue()​. Referenced by extendBy(), SbXfBox3d::extendBy(), and transform()​.

void SbBox3d::extendBy (const SbBox3d & 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 SbBox3d::transform (const SbDPMatrix & 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(), SbDPMatrix::multVecMatrix(), SoDebugError::postWarning(), setBounds(), and SbVec3d::setValue()​. Referenced by SbXfBox3d::project()​.

void SbBox3d::makeEmpty (void)Marks this as an empty box​. See also isEmpty()​. References SbVec3d::setValue()​. Referenced by setBounds()​.

SbBool SbBox3d::isEmpty (void) const [inline]Check if this has been marked as an empty box​. See also makeEmpty()​. Referenced by extendBy(), SbXfBox3d::extendBy(), SbXfBox3d::intersect(), SbXfBox3d::project(), SbBox3f::setBounds(), SbBox3i32::setBounds(), SbBox3s::setBounds(), and transform()​.

SbBool SbBox3d::hasVolume (void) const [inline]Check if the box has been correctly specified and by that virtue has volume​. Referenced by SbXfBox3d::getVolume()​.

double SbBox3d::getVolume (void) const [inline]Check if the box has 'positive' volume, i​.e​. the lower left corner is actually lower and more left than the maximum point​. Referenced by SbXfBox3d::extendBy(), and SbXfBox3d::getVolume()​.

SbBool SbBox3d::intersect (const SbVec3d & point) constCheck if the given point lies within the boundaries of this box​. Referenced by SbXfBox3d::intersect()​.

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

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

SbBool SbBox3d::outside (const SbDPMatrix & 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 SbDPMatrix::multVecMatrix()​.

SbVec3d SbBox3d::getCenter (void) const [inline]Returns the center point of the box​. Referenced by SbXfBox3d::getCenter(), and getClosestPoint()​.

void SbBox3d::getOrigin (double & originX, double & originY, double & originZ) const [inline]Returns the coordinates of the box origin (i​.e​. the lower left corner)​. See also getMin()​.

void SbBox3d::getSize (double & sizeX, double & sizeY, double & sizeZ) const [inline]Returns width, height and depth of box​.

void SbBox3d::getSpan (const SbVec3d & dir, double & dmin, double & 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 SbVec3d::dot(), SbVec3d::normalize(), SoDebugError::postWarning(), and SbVec3d::setValue()​. Referenced by SbXfBox3d::getSpan()​.

void SbBox3d::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 SbVec3d::print()​.

Friends And Related Function Documentation

int operator== (const SbBox3d & b1, const SbBox3d & b2) [related]Check b1 and b2 for equality​. References getMax(), and getMin()​.

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

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   65,133 byte
man-SbBox3d.3coin2Build   :   2025-03-22, 13:26   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 2,084,012
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.