Scroll to navigation

SbBox3f(3IV)() SbBox3f(3IV)()

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