CFx SDK Documentation  2020SP3
Public Types | Public Member Functions | Static Public Member Functions | List of all members
OdSi::BBox Class Reference

#include <BBox.h>

Inheritance diagram for OdSi::BBox:
OdGeBoundBlock3d OdSiShape OdGeEntity3d

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 OdGeBoundBlock3d
 OdGeBoundBlock3d ()
 
 OdGeBoundBlock3d (const OdGePoint3d &base, const OdGeVector3d &side1, const OdGeVector3d &side2, const OdGeVector3d &side3)
 
 OdGeBoundBlock3d (const OdGePoint3d &point1, const OdGePoint3d &point2)
 
 OdGeBoundBlock3d (const OdGeBoundBlock3d &source)
 
void getMinMaxPoints (OdGePoint3d &p1, OdGePoint3d &p2) const
 
void get (OdGePoint3d &base, OdGeVector3d &side1, OdGeVector3d &side2, OdGeVector3d &side3) const
 
OdGeBoundBlock3dset (const OdGePoint3d &p1, const OdGePoint3d &p2)
 
OdGeBoundBlock3dset (const OdGePoint3d &base, const OdGeVector3d &side1, const OdGeVector3d &side2, const OdGeVector3d &side3)
 
OdGeBoundBlock3dextend (const OdGePoint3d &point)
 
OdGeBoundBlock3dswell (double distance)
 
bool contains (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDisjoint (const OdGeBoundBlock3d &block, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isBox () const
 
OdGeBoundBlock3dsetToBox (bool toBox)
 
OdGeBoundBlock3doperator= (const OdGeBoundBlock3d &block)
 
OdGePoint3d minPoint () const
 
OdGePoint3d maxPoint () const
 
OdGePoint3d center () const
 
void setToBoxOrtho (const OdGeVector3d &dir1, const OdGeVector3d &dir2, const OdGeVector3d &dir3)
 
void setToBoxOrtho ()
 
- Public Member Functions inherited from OdGeEntity3d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity3d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity3dcopy () const
 
OdGeEntity3doperator= (const OdGeEntity3d &entity)
 
bool operator== (const OdGeEntity3d &entity) const
 
bool operator!= (const OdGeEntity3d &entity) const
 
bool isEqualTo (const OdGeEntity3d &object, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeEntity3dtransformBy (const OdGeMatrix3d &xfm)
 
OdGeEntity3dtranslateBy (const OdGeVector3d &translateVec)
 
OdGeEntity3drotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
OdGeEntity3dmirror (const OdGePlane &plane)
 
OdGeEntity3dscaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
bool isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) 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 OdGeBoundBlock3d &extents)
 

Additional Inherited Members

- Static Public Attributes inherited from OdSiShape
static ODSI_API_STATIC const OdSiShapekOverallSpace
 
static ODSI_API_STATIC const OdSiShapekNoSpace
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class implements 3D Spatial Index bounding volumes.

Corresponding C++ library: SpatialIndex

Definition at line 42 of file BBox.h.

Member Enumeration Documentation

◆ ExtentsType

Enumerator
k2dExtents 
k3dExtents 

Definition at line 45 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 195 of file BBox.h.

◆ BBox() [2/4]

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

Definition at line 196 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 197 of file BBox.h.

◆ BBox() [4/4]

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

Definition at line 203 of file BBox.h.

Member Function Documentation

◆ clone()

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

Reimplemented from OdSiShape.

Definition at line 170 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 specfied 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 131 of file BBox.h.

◆ explodeExtent() [1/2]

static ExtentsType OdSi::BBox::explodeExtent ( OdGePoint3d points,
const OdGeBoundBlock3d extents 
)
inlinestatic

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

Parameters
extents[in] BoundBlock object.
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 111 of file BBox.h.

◆ explodeExtent() [2/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 72 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 specfied 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 157 of file BBox.h.

◆ transform()

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

Reimplemented from OdSiShape.

Definition at line 175 of file BBox.h.


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