CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdSi::BBox Class Reference

#include <BBox.h>

Inheritance diagram for OdSi::BBox:
OdSiBoundBlock3d OdSiShape

Public Types

enum  ExtentsType { k2dExtents = 0 , k3dExtents = 1 }
 

Public Member Functions

virtual bool contains (const OdGeExtents3d &extents, bool planar=false, const OdGeTol &tol=OdGeContext::gTol) const
 
virtual bool intersects (const OdGeExtents3d &extents, bool planar=false, const OdGeTol &tol=OdGeContext::gTol) const
 
virtual OdSiShapeclone () const
 
virtual void transform (const OdGeMatrix3d &mtx)
 
 BBox ()
 
 BBox (const BBox &source)
 
 BBox (const OdGePoint3d &base, const OdGeVector3d &side1, const OdGeVector3d &side2, const OdGeVector3d &side3)
 
 BBox (const OdGePoint3d &p1, const OdGePoint3d &p2)
 
- Public Member Functions inherited from OdSiBoundBlock3d
 OdSiBoundBlock3d ()
 
 OdSiBoundBlock3d (const OdGeExtents3d &ab)
 
 OdSiBoundBlock3d (const OdGeBoundBlock3d &bb)
 
 OdSiBoundBlock3d (const OdGePoint3d &p1, const OdGePoint3d &p2)
 
 OdSiBoundBlock3d (const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
 
void set (const OdGeExtents3d &ab)
 
void set (const OdGeBoundBlock3d &bb)
 
void set (const OdGePoint3d &p1, const OdGePoint3d &p2)
 
void set (const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
 
void get (OdGePoint3d &origin, OdGeVector3d &xAxis, OdGeVector3d &yAxis, OdGeVector3d &zAxis) const
 
void transformBy (const OdGeMatrix3d &tm)
 
bool isDisjoint (const OdGeExtents3d &exts, const OdGeTol &tolerance=OdGeContext::gTol) const
 
bool contains (const OdGeExtents3d &exts, const OdGeTol &tolerance=OdGeContext::gTol) const
 
bool contains (const OdGePoint3d &pt, const OdGeTol &tolerance=OdGeContext::gTol) const
 
OdGePoint3d minPoint () const
 
OdGePoint3d maxPoint () const
 
void getMinMaxPoints (OdGePoint3d &p1, OdGePoint3d &p2) const
 
void extents (OdGeExtents3d &exts) const
 
bool isBox () const
 
bool isOrtho () const
 
- Public Member Functions inherited from OdSiShape
virtual ~OdSiShape ()
 

Static Public Member Functions

static ExtentsType explodeExtent (OdGePoint3d *points, const OdGeExtents3d &extents)
 
static ExtentsType explodeExtent (OdGePoint3d *points, const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
 
- Static Public Member Functions inherited from OdSiShape
static bool isOverallSpace (const OdSiShape *ptr)
 
static bool isNoSpace (const OdSiShape *ptr)
 

Additional Inherited Members

- Static Public Attributes inherited from OdSiShape
static ODSI_API_STATIC const OdSiShapekOverallSpace
 
static ODSI_API_STATIC const OdSiShapekNoSpace
 
- Protected Types inherited from OdSiBoundBlock3d
enum class  BasisType { kWcs , kOrtho , kArbitrary }
 
- Protected Member Functions inherited from OdSiBoundBlock3d
void setWcsBasis (bool bNormalIval=true)
 
void setGeExtents (const OdGeExtents3d &ab)
 
void setGeBoundBlock (const OdGeBoundBlock3d &bb)
 
void setUnclassified (const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
 
void classify ()
 
void subClassifyArbitrary ()
 
void getInternalArbitraryBasis (OdGePoint3d &minPoint, OdGePoint3d &maxPoint, OdGeVector3d &xNorm, OdGeVector3d &yNorm, OdGeVector3d &zNorm) const
 
bool intersectPoint (const OdGePoint3d &pt, const OdGeVector3d &planeNormal, double planeDist, double tol) const
 
bool intersectPlane (const OdGePoint3d &minPt, const OdGePoint3d &maxPt, const OdGeVector3d &planeNormal, double planeDist, double tol) const
 
bool intersectPlaneBk (const OdGeVector3d &planeNormal, double planeDist, double tol) const
 
- Protected Attributes inherited from OdSiBoundBlock3d
OdGePoint3d m_origin
 
OdGeVector3d m_basis [3]
 
OdGeVector2d m_ivals [3]
 
enum OdSiBoundBlock3d::BasisType m_type
 

Detailed Description

This class implements 3D Spatial Index bounding volumes.

Corresponding C++ library: SpatialIndex

Definition at line 47 of file BBox.h.

Member Enumeration Documentation

◆ ExtentsType

Enumerator
k2dExtents 
k3dExtents 

Definition at line 53 of file BBox.h.

Constructor & Destructor Documentation

◆ BBox() [1/4]

OdSi::BBox::BBox ( )
inline
Parameters
p1[in] First point of a coordinate-aligned block.
p2[in] Second point of a coordinate-aligned block.
base[in] Base of parallelepiped bounding block.
side1[in] First side of parallelepiped bounding block.
side2[in] Second side of parallelepiped bounding block.
side3[in] Third side of parallelepiped bounding block.
source[in] Object to be cloned.
Remarks
The default constructor constructs a parallelepiped reduced to the coordinate origin.

A parallelepiped is a parallelogram extruded in an arbitrary direction.

Definition at line 216 of file BBox.h.

◆ BBox() [2/4]

OdSi::BBox::BBox ( const BBox & source)
inline

Definition at line 218 of file BBox.h.

◆ BBox() [3/4]

OdSi::BBox::BBox ( const OdGePoint3d & base,
const OdGeVector3d & side1,
const OdGeVector3d & side2,
const OdGeVector3d & side3 )
inline

Definition at line 219 of file BBox.h.

◆ BBox() [4/4]

OdSi::BBox::BBox ( const OdGePoint3d & p1,
const OdGePoint3d & p2 )
inline

Definition at line 222 of file BBox.h.

Member Function Documentation

◆ clone()

virtual OdSiShape * OdSi::BBox::clone ( ) const
inlinevirtual

Reimplemented from OdSiShape.

Definition at line 187 of file BBox.h.

◆ contains()

virtual bool OdSi::BBox::contains ( const OdGeExtents3d & extents,
bool planar = false,
const OdGeTol & tol = OdGeContext::gTol ) const
inlinevirtual

Returns true if and only if this Shape object contains the specified extents.

Parameters
extents[in] Any 3D extents box.
planar[in] If and only if true, a planar computation is made.

Implements OdSiShape.

Definition at line 140 of file BBox.h.

◆ explodeExtent() [1/2]

static ExtentsType OdSi::BBox::explodeExtent ( OdGePoint3d * points,
const OdGeExtents3d & extents )
inlinestatic

Explodes the specified extents box or bounding block into an array of points.

Parameters
extents[in] 3D extents.
points[out] Receives the array[8] of points.
Returns
Returns the ExtentsType of the specified exents.
Remarks
explodeExtent() returns one of the following:

Value k2dExtents 0 k3dExtents 1

The points array will start at extents.minPoint, and proceed clockwise about the extents. It will then repeat this sequence at the top of the extents.

Definition at line 80 of file BBox.h.

◆ explodeExtent() [2/2]

static ExtentsType OdSi::BBox::explodeExtent ( OdGePoint3d * points,
const OdGePoint3d & origin,
const OdGeVector3d & xAxis,
const OdGeVector3d & yAxis,
const OdGeVector3d & zAxis )
inlinestatic

Explodes the specified extents box or bounding block into an array of points.

Parameters
points[out] Receives the array[8] of points.
origin[in] Origin of bounding block.
xAxis[in] X-Axis of bounding block (including fill block side length).
yAxis[in] Y-Axis of bounding block (including fill block side length).
zAxis[in] Z-Axis of bounding block (including fill block side length).
Returns
Returns the ExtentsType of the specified exents.
Remarks
explodeExtent() returns one of the following:

Value k2dExtents 0 k3dExtents 1

The points array will start at extents.minPoint, and proceed clockwise about the extents. It will then repeat this sequence at the top of the extents.

Definition at line 122 of file BBox.h.

◆ intersects()

virtual bool OdSi::BBox::intersects ( const OdGeExtents3d & extents,
bool planar = false,
const OdGeTol & tol = OdGeContext::gTol ) const
inlinevirtual

Returns true if and only if this Shape object intersects the specified extents.

Parameters
extents[in] Any 3D extents box.
planar[in] If and only if true, a planar computation is made.

Implements OdSiShape.

Definition at line 170 of file BBox.h.

◆ transform()

virtual void OdSi::BBox::transform ( const OdGeMatrix3d & mtx)
inlinevirtual

Reimplemented from OdSiShape.

Definition at line 192 of file BBox.h.


The documentation for this class was generated from the following file: