CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdSiBoundBlock3d Class Reference

#include <SiBBlock.h>

Inheritance diagram for OdSiBoundBlock3d:
OdSi::BBox

Public Member Functions

 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
 

Protected Types

enum class  BasisType { kWcs , kOrtho , kArbitrary }
 

Protected Member Functions

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

OdGePoint3d m_origin
 
OdGeVector3d m_basis [3]
 
OdGeVector2d m_ivals [3]
 
enum OdSiBoundBlock3d::BasisType m_type
 

Detailed Description

This class is an alternative of OdGeBoundBlock3d class for Spatial Index queries with optimized performance and improved precision. <group OdGs_Classes>

See also
<link ge_OdGeBoundBlock3D, Working with Bounding Blocks>

Definition at line 39 of file SiBBlock.h.

Member Enumeration Documentation

◆ BasisType

enum class OdSiBoundBlock3d::BasisType
strongprotected
Enumerator
kWcs 
kOrtho 
kArbitrary 

Definition at line 45 of file SiBBlock.h.

Constructor & Destructor Documentation

◆ OdSiBoundBlock3d() [1/5]

OdSiBoundBlock3d::OdSiBoundBlock3d ( )
inline

Default constructor for the OdSiBoundBlock3d class.

Definition at line 120 of file SiBBlock.h.

◆ OdSiBoundBlock3d() [2/5]

OdSiBoundBlock3d::OdSiBoundBlock3d ( const OdGeExtents3d & ab)
inline

Constructor for the OdSiBoundBlock3d class. Creates a bound block from the specified OdGeExtents3d object.

Parameters
ab[in] Source object.

Definition at line 128 of file SiBBlock.h.

◆ OdSiBoundBlock3d() [3/5]

OdSiBoundBlock3d::OdSiBoundBlock3d ( const OdGeBoundBlock3d & bb)
inline

Constructor for the OdSiBoundBlock3d class. Creates a bound block from the specified OdGeBoundBlock3d object.

Parameters
bb[in] Source object.

Definition at line 136 of file SiBBlock.h.

◆ OdSiBoundBlock3d() [4/5]

OdSiBoundBlock3d::OdSiBoundBlock3d ( const OdGePoint3d & p1,
const OdGePoint3d & p2 )
inline

Constructor for the OdSiBoundBlock3d class. Creates a bound block from the specified points.

Parameters
p1[in] First point.
p2[in] Second point.

Definition at line 145 of file SiBBlock.h.

◆ OdSiBoundBlock3d() [5/5]

OdSiBoundBlock3d::OdSiBoundBlock3d ( const OdGePoint3d & origin,
const OdGeVector3d & xAxis,
const OdGeVector3d & yAxis,
const OdGeVector3d & zAxis )
inline

Constructor for the OdSiBoundBlock3d class. Creates a bound block from an origin point extending by the specified axes.

Parameters
origin[in] Origin point.
xAxis[in] X axis.
yAxis[in] Y axis.
zAxis[in] Z axis.

Definition at line 156 of file SiBBlock.h.

Member Function Documentation

◆ classify()

void OdSiBoundBlock3d::classify ( )
inlineprotected

Definition at line 296 of file SiBBlock.h.

◆ contains() [1/2]

bool OdSiBoundBlock3d::contains ( const OdGeExtents3d & exts,
const OdGeTol & tolerance = OdGeContext::gTol ) const
inline

Checks whether this bounding block intersects the specified extents.

Parameters
exts[in] Extents to check.
tol[in] Geometric tolerance.
Returns
true if and only if this bounding block intersects the specified extents.

Definition at line 398 of file SiBBlock.h.

◆ contains() [2/2]

bool OdSiBoundBlock3d::contains ( const OdGePoint3d & pt,
const OdGeTol & tolerance = OdGeContext::gTol ) const
inline

Checks whether this bounding block contains the specified point.

Parameters
pt[in] A 3D point that is presumably contained inside these extents.
tol[in] Geometric tolerance.
Returns
true if and only if this bounding block contains the specified point.

Definition at line 423 of file SiBBlock.h.

◆ extents()

void OdSiBoundBlock3d::extents ( OdGeExtents3d & exts) const
inline

Sets minimum and maximum points of the specified extents from minimum and maximum points of this bounding block.

Parameters
exts[in/out] Extents to modify.

Definition at line 290 of file SiBBlock.h.

◆ get()

void OdSiBoundBlock3d::get ( OdGePoint3d & origin,
OdGeVector3d & xAxis,
OdGeVector3d & yAxis,
OdGeVector3d & zAxis ) const
inline

Gets parameters of this bound block.

Parameters
origin[out] Receives origin point.
xAxis[out] Receives X axis.
yAxis[out] Receives Y axis.
zAxis[out] Receives Z axis.

Definition at line 200 of file SiBBlock.h.

◆ getInternalArbitraryBasis()

void OdSiBoundBlock3d::getInternalArbitraryBasis ( OdGePoint3d & minPoint,
OdGePoint3d & maxPoint,
OdGeVector3d & xNorm,
OdGeVector3d & yNorm,
OdGeVector3d & zNorm ) const
inlineprotected

Definition at line 89 of file SiBBlock.h.

◆ getMinMaxPoints()

void OdSiBoundBlock3d::getMinMaxPoints ( OdGePoint3d & p1,
OdGePoint3d & p2 ) const
inline

Gets minimum and maximum points of this bounding block.

Parameters
p1[out] Receives minimum point.
p2[out] Receives maximum point.

Definition at line 283 of file SiBBlock.h.

◆ intersectPlane()

bool OdSiBoundBlock3d::intersectPlane ( const OdGePoint3d & minPt,
const OdGePoint3d & maxPt,
const OdGeVector3d & planeNormal,
double planeDist,
double tol ) const
inlineprotected

Definition at line 102 of file SiBBlock.h.

◆ intersectPlaneBk()

bool OdSiBoundBlock3d::intersectPlaneBk ( const OdGeVector3d & planeNormal,
double planeDist,
double tol ) const
inlineprotected

Definition at line 109 of file SiBBlock.h.

◆ intersectPoint()

bool OdSiBoundBlock3d::intersectPoint ( const OdGePoint3d & pt,
const OdGeVector3d & planeNormal,
double planeDist,
double tol ) const
inlineprotected

Definition at line 98 of file SiBBlock.h.

◆ isBox()

bool OdSiBoundBlock3d::isBox ( ) const
inline

Definition at line 292 of file SiBBlock.h.

◆ isDisjoint()

bool OdSiBoundBlock3d::isDisjoint ( const OdGeExtents3d & exts,
const OdGeTol & tolerance = OdGeContext::gTol ) const
inline

Checks whether the specified bounding block does not intersect this bounding block.

Parameters
exts[in] Bounding block to check.
tol[in] Geometric tolerance.
Returns
true if the specified bounding block does not intersect this bounding block.

Definition at line 342 of file SiBBlock.h.

◆ isOrtho()

bool OdSiBoundBlock3d::isOrtho ( ) const
inline

Definition at line 293 of file SiBBlock.h.

◆ maxPoint()

OdGePoint3d OdSiBoundBlock3d::maxPoint ( ) const
inline

Returns maximum point of this bounding block.

Returns
Maximum point as OdGePoint3d instance.

Definition at line 464 of file SiBBlock.h.

◆ minPoint()

OdGePoint3d OdSiBoundBlock3d::minPoint ( ) const
inline

Returns minimum point of this bounding block.

Returns
Minimum point as OdGePoint3d instance.

Definition at line 448 of file SiBBlock.h.

◆ set() [1/4]

void OdSiBoundBlock3d::set ( const OdGeBoundBlock3d & bb)
inline

Sets parameters of this bound block from the specified OdGeBoundBlock3d object.

Parameters
bb[in] Source object.

Definition at line 171 of file SiBBlock.h.

◆ set() [2/4]

void OdSiBoundBlock3d::set ( const OdGeExtents3d & ab)
inline

Sets parameters of this bound block from the specified OdGeExtents3d object.

Parameters
ab[in] Source object.

Definition at line 164 of file SiBBlock.h.

◆ set() [3/4]

void OdSiBoundBlock3d::set ( const OdGePoint3d & origin,
const OdGeVector3d & xAxis,
const OdGeVector3d & yAxis,
const OdGeVector3d & zAxis )
inline

Sets parameters of this bound block from an origin point and directional vectors.

Parameters
origin[in] Origin point.
xAxis[in] X axis.
yAxis[in] Y axis.
zAxis[in] Z axis.

Definition at line 189 of file SiBBlock.h.

◆ set() [4/4]

void OdSiBoundBlock3d::set ( const OdGePoint3d & p1,
const OdGePoint3d & p2 )
inline

Sets parameters of this bound block from the specified corner points.

Parameters
p1[in] First point.
p2[in] Second point.

Definition at line 179 of file SiBBlock.h.

◆ setGeBoundBlock()

void OdSiBoundBlock3d::setGeBoundBlock ( const OdGeBoundBlock3d & bb)
inlineprotected

Definition at line 63 of file SiBBlock.h.

◆ setGeExtents()

void OdSiBoundBlock3d::setGeExtents ( const OdGeExtents3d & ab)
inlineprotected

Definition at line 56 of file SiBBlock.h.

◆ setUnclassified()

void OdSiBoundBlock3d::setUnclassified ( const OdGePoint3d & origin,
const OdGeVector3d & xAxis,
const OdGeVector3d & yAxis,
const OdGeVector3d & zAxis )
inlineprotected

Definition at line 76 of file SiBBlock.h.

◆ setWcsBasis()

void OdSiBoundBlock3d::setWcsBasis ( bool bNormalIval = true)
inlineprotected

Definition at line 47 of file SiBBlock.h.

◆ subClassifyArbitrary()

void OdSiBoundBlock3d::subClassifyArbitrary ( )
inlineprotected

Definition at line 84 of file SiBBlock.h.

◆ transformBy()

void OdSiBoundBlock3d::transformBy ( const OdGeMatrix3d & tm)
inline

Transforms this bound block with the specified transformation matrix.

Parameters
tm[in] Transformation matrix.

Definition at line 213 of file SiBBlock.h.

Member Data Documentation

◆ m_basis

OdGeVector3d OdSiBoundBlock3d::m_basis[3]
protected

Definition at line 43 of file SiBBlock.h.

◆ m_ivals

OdGeVector2d OdSiBoundBlock3d::m_ivals[3]
protected

Definition at line 44 of file SiBBlock.h.

◆ m_origin

OdGePoint3d OdSiBoundBlock3d::m_origin
protected

Definition at line 42 of file SiBBlock.h.

◆ m_type

enum OdSiBoundBlock3d::BasisType OdSiBoundBlock3d::m_type
protected

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