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

#include <SiExtents.h>

Inheritance diagram for OdSi::Extent3d:
OdGeExtents3d OdSiShape

Public Types

enum  IntersectResult { left = 0, upon = 1, right = 2 }
 
- Public Types inherited from OdGeExtents3d
enum  IntersectionStatus {
  kIntersectUnknown, kIntersectNot, kIntersectOpIn, kIntersectOpOut,
  kIntersectOk
}
 
enum  Convert2dPlane {
  kConvert2dPlaneXY = 0x04, kConvert2dPlaneXZ = 0x0C, kConvert2dPlaneYX = 0x01, kConvert2dPlaneYZ = 0x0D,
  kConvert2dPlaneZX = 0x03, kConvert2dPlaneZY = 0x07
}
 

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
 
IntersectResult intersects (double coordinate, int dimension, double tol=OdGeContext::gTol.equalPoint()) const
 
void makeHalf (int dimension, bool moveRight)
 
void makeDouble (int dimension, bool moveRight)
 
void makeCube (bool planar)
 
 Extent3d ()
 
 Extent3d (const OdGePoint3d &min, const OdGePoint3d &max)
 
 Extent3d (const OdGeExtents3d &source)
 
 Extent3d (const OdGeExtents2d &source)
 
- Public Member Functions inherited from OdGeExtents3d
 OdGeExtents3d ()
 
 OdGeExtents3d (const OdGePoint3d &min, const OdGePoint3d &max)
 
const OdGePoint3dminPoint () const
 
const OdGePoint3dmaxPoint () const
 
void set (const OdGePoint3d &min, const OdGePoint3d &max)
 
void comparingSet (const OdGePoint3d &pt1, const OdGePoint3d &pt2)
 
void addPoint (const OdGePoint3d &point)
 
void addExt (const OdGeExtents3d &extents)
 
bool isValidExtents () const
 
void expandBy (const OdGeVector3d &vect)
 
void transformBy (const OdGeMatrix3d &xfm)
 
bool contains (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
bool contains (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
bool isDisjoint (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
IntersectionStatus intersectWith (const OdGeExtents3d &extents, OdGeExtents3d *pResult=0) const
 
OdGePoint3d center () const
 
void convert2d (OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY) const
 
void setFrom2d (const OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY)
 
bool isEqualTo (const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
 
bool operator== (const OdGeExtents3d &extents) const
 
bool operator!= (const OdGeExtents3d &extents) const
 
- Public Member Functions inherited from OdSiShape
virtual ~OdSiShape ()
 
virtual OdSiShapeclone () const
 
virtual void transform (const OdGeMatrix3d &)
 

Additional Inherited Members

- Static Public Attributes inherited from OdGeExtents3d
static GE_STATIC_EXPORT const OdGeExtents3d kInvalid
 
- Static Public Attributes inherited from OdSiShape
static ODSI_API_STATIC const OdSiShapekOverallSpace
 
static ODSI_API_STATIC const OdSiShapekNoSpace
 
- Protected Attributes inherited from OdGeExtents3d
OdGePoint3d m_min
 
OdGePoint3d m_max
 

Detailed Description

This class implements 3D Spatial Index Extents objects.

Corresponding C++ library: SpatialIndex

Definition at line 46 of file SiExtents.h.

Member Enumeration Documentation

◆ IntersectResult

Enumerator
left 
upon 
right 

Definition at line 87 of file SiExtents.h.

Constructor & Destructor Documentation

◆ Extent3d() [1/4]

OdSi::Extent3d::Extent3d ( )
inline

Definition at line 159 of file SiExtents.h.

◆ Extent3d() [2/4]

OdSi::Extent3d::Extent3d ( const OdGePoint3d min,
const OdGePoint3d max 
)
inline
Parameters
min[in] Minimum point.
max[in] Maximum point.

Definition at line 163 of file SiExtents.h.

◆ Extent3d() [3/4]

OdSi::Extent3d::Extent3d ( const OdGeExtents3d source)
inline

Definition at line 165 of file SiExtents.h.

◆ Extent3d() [4/4]

OdSi::Extent3d::Extent3d ( const OdGeExtents2d source)
inline

Definition at line 166 of file SiExtents.h.

Member Function Documentation

◆ contains()

virtual bool OdSi::Extent3d::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 49 of file SiExtents.h.

◆ intersects() [1/2]

virtual bool OdSi::Extent3d::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.
tol[in] Tolerance.
\remarks
intersects() returns one of the following.

Value Description true .. The specified extents intersect this Extents object. false .. The specified extents do not intersect this Extents object.

Implements OdSiShape.

Definition at line 74 of file SiExtents.h.

◆ intersects() [2/2]

IntersectResult OdSi::Extent3d::intersects ( double  coordinate,
int  dimension,
double  tol = OdGeContext::gTol.equalPoint() 
) const
inline

Returns the intersection with this Extents object.

\param coordinate [in]  Coordinate to test.
Parameters
dimension[in] X, Y, or Z.
tol[in] Tolerance.
Remarks
intersects() returns one of the following.

Value Description left 0 coordinate is to the left of this Extents object. upon 1 coordinate is upon this Extents object. right 2 coordinate is to the right of this Extents object.

Definition at line 113 of file SiExtents.h.

◆ makeCube()

void OdSi::Extent3d::makeCube ( bool  planar)
inline

Expands this Extents object to a square or cube of its largest dimension.

Parameters
planar[in] True for 2D extents, false for 3D.

Definition at line 149 of file SiExtents.h.

◆ makeDouble()

void OdSi::Extent3d::makeDouble ( int  dimension,
bool  moveRight 
)
inline

Doubles the specified dimension of this Extents object.

Parameters
dimension[in] X, Y, or Z.
moveRight[in] True to move the right -hand edge, false for the left -hand.

Definition at line 138 of file SiExtents.h.

◆ makeHalf()

void OdSi::Extent3d::makeHalf ( int  dimension,
bool  moveRight 
)
inline

Halves the specified dimension of this Extents object.

Parameters
dimension[in] X, Y, or Z.
moveRight[in] True to move the right -hand edge, false for the left -hand.

Definition at line 125 of file SiExtents.h.


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