SbXfBox3f(3IV)
SbXfBox3f (SbXfBox3f) - 3D box with an associated transformation matrix
As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.
NAME SbXfBox3f (SbXfBox3f) - 3D box with an associated transformation matrix INHERITS FROM SbBox3f > SbXfBox3f SYNOPSIS #include <Inventor_c/SbBox.h> Functions from class SbXfBox3f: SbXfBox3f * SbXfBox3fCreate() SbXfBox3f * SbXfBox3fCreateMinMax(const SbVec3f *_min, const SbVec3f *_max) SbXfBox3f * SbXfBox3fCreateBox3f(const SbBox3f *box) void SbXfBox3fDelete(SbXfBox3f *this) void SbXfBox3fSetXf(SbXfBox3f *this, const SbMatrix *m) const SbMatrix * SbXfBox3fGetTransform(const SbXfBox3f *this) const SbMatrix * SbXfBox3fGetInverse(const SbXfBox3f *this) SbVec3f SbXfBox3fGetCenter(const SbXfBox3f *this) void SbXfBox3fExtendByPt(SbXfBox3f *this, const SbVec3f *pt) void SbXfBox3fExtendByBox(SbXfBox3f *this, const SbBox3f *bb) void SbXfBox3fExtendByXfBox(SbXfBox3f *this, const SbXfBox3f *bb) SbBool SbXfBox3fIntersectPt(const SbXfBox3f *this, const SbVec3f *pt) SbBool SbXfBox3fIntersectBox(const SbXfBox3f *this, const SbBox3f *bb) void SbXfBox3fSetBounds(SbXfBox3f *this, float xmin, float ymin, float zmin, float xmax, float ymax, float zmax) void SbXfBox3fSetBoundsMinMax(SbXfBox3f *this, const SbVec3f *_min, const SbVec3f *_max) void SbXfBox3fGetBounds(const SbXfBox3f *this, float *xmin, float *ymin, float *zmin, float *xmax, float *ymax, float *zmax) void SbXfBox3fGetBoundsMinMax(const SbXfBox3f *this, SbVec3f *_min, SbVec3f *_max) void SbXfBox3fGetOrigin(SbXfBox3f *this, float *originX, float *originY, float *originZ) void SbXfBox3fGetSize(SbXfBox3f *this, float *sizeX, float *sizeY, float *sizeZ) float SbXfBox3fGetVol(const SbXfBox3f *this) void SbXfBox3fMakeEmpty(SbXfBox3f *this) SbBool SbXfBox3fIsEmpty(const SbXfBox3f *this) SbBool SbXfBox3fHasVol(const SbXfBox3f *this) void SbXfBox3fGetSpan(const SbXfBox3f *this, const SbVec3f *direction, float *dMin, float *dMax) void SbXfBox3fXf(SbXfBox3f *this, const SbMatrix *m) SbBox3f SbXfBox3fProject(const SbXfBox3f *this) int SbXfBox3fIsEq(SbXfBox3f *this, const SbXfBox3f *b1, const SbXfBox3f *b2) int SbXfBox3fIsNEq(SbXfBox3f *this, const SbXfBox3f *b1, const SbXfBox3f *b2) Functions from class SbBox3f: const SbVec3f * SbXfBox3fGetMinConst(SbXfBox3f *this) const SbVec3f * SbXfBox3fGetMaxConst(SbXfBox3f *this) DESCRIPTION A 3D box with an arbitrary transformation applied. This class is useful when a box will be transformed frequently; if an SbBox3f is used for this purpose it will expand each time it is transformed in order to keep itself axis-aligned. Transformations can be accumulated on an SbXfBox3f without expanding the box, and after all transformations have been done, the box can be expanded to an axis-aligned box if necessary. FUNCTIONS SbXfBox3f * SbXfBox3fCreate() SbXfBox3f * SbXfBox3fCreateMinMax(const SbVec3f *_min, const SbVec3f *_max) SbXfBox3f * SbXfBox3fCreateBox3f(const SbBox3f *box) void SbXfBox3fDelete(SbXfBox3f *this) Constructors and destructor. void SbXfBox3fSetXf(SbXfBox3f *this, const SbMatrix *m) Sets the transformation on the box. const SbMatrix * SbXfBox3fGetTransform(const SbXfBox3f *this) const SbMatrix * SbXfBox3fGetInverse(const SbXfBox3f *this) Gets the transformation on the box, and its inverse. SbVec3f SbXfBox3fGetCenter(const SbXfBox3f *this) Returns the center of the box. void SbXfBox3fExtendByPt(SbXfBox3f *this, const SbVec3f *pt) Extends the box (if necessary) to contain the given 3D point. If the box has had a non-identity transformation applied using the setTransform() method, the point is assumed to be in the transformed space. For example, the following code sequence: SbXfBox3f bbox; bbox.extendBy(SbVec3f(0,0,0)); SbMatrix trans; trans.setTranslate(SbVec3f(1,1,1)); bbox.setTransform(trans); bbox.extendBy(SbVec3f(0,0,0)); will result in a bounding box extending from (-1,-1,-1) to (0,0,0) in bbox'es local (untransformed) space. void SbXfBox3fExtendByBox(SbXfBox3f *this, const SbBox3f *bb) Extends the box (if necessary) to contain the given SbBox3f. If the box has had a non-identity transformation applied using the setTransform() method, the given SbBox3f is assumed to be in the transformed space. void SbXfBox3fExtendByXfBox(SbXfBox3f *this, const SbXfBox3f *bb) Extends the box (if necessary) to contain the given SbXfBox3f. SbBool SbXfBox3fIntersectPt(const SbXfBox3f *this, const SbVec3f *pt) Returns TRUE if intersection of given point and this box is not empty. SbBool SbXfBox3fIntersectBox(const SbXfBox3f *this, const SbBox3f *bb) Returns TRUE if intersection of given box and this box is not empty. void SbXfBox3fSetBounds(SbXfBox3f *this, float xmin, float ymin, float zmin, float xmax, float ymax, float zmax) void SbXfBox3fSetBoundsMinMax(SbXfBox3f *this, const SbVec3f *_min, const SbVec3f *_max) void SbXfBox3fGetBounds(const SbXfBox3f *this, float *xmin, float *ymin, float *zmin, float *xmax, float *ymax, float *zmax) void SbXfBox3fGetBoundsMinMax(const SbXfBox3f *this, SbVec3f *_min, SbVec3f *_max) Set and get the bounds of the box. void SbXfBox3fGetOrigin(SbXfBox3f *this, float *originX, float *originY, float *originZ) Returns origin (minimum point) of the box. void SbXfBox3fGetSize(SbXfBox3f *this, float *sizeX, float *sizeY, float *sizeZ) Returns size of the box. float SbXfBox3fGetVol(const SbXfBox3f *this) Gives the volume of the box (0 for an empty box). void SbXfBox3fMakeEmpty(SbXfBox3f *this) Sets the box to contain nothing. SbBool SbXfBox3fIsEmpty(const SbXfBox3f *this) Checks if the box is empty (degenerate). SbBool SbXfBox3fHasVol(const SbXfBox3f *this) Checks if the box has volume; i.e., all three dimensions have positive size. void SbXfBox3fGetSpan(const SbXfBox3f *this, const SbVec3f *direction, float *dMin, float *dMax) Finds the extent of the box along a particular direction. void SbXfBox3fXf(SbXfBox3f *this, const SbMatrix *m) Transforms the box by the given matrix. SbBox3f SbXfBox3fProject(const SbXfBox3f *this) Projects an SbXfBox3f to an SbBox3f int SbXfBox3fIsEq(SbXfBox3f *this, const SbXfBox3f *b1, const SbXfBox3f *b2) int SbXfBox3fIsNEq(SbXfBox3f *this, const SbXfBox3f *b1, const SbXfBox3f *b2) Equality comparisons. FILE FORMAT/DEFAULTS XfBox3f { } SEE ALSO SbBox3f, SbBox2f, SbBox2s, SbVec3f, SbVec2f, SbVec2s, SbMatrix, SoGetBoundingBoxAction