24 #ifndef _ODGEEXTENTS3D_INCLUDED_
25 #define _ODGEEXTENTS3D_INCLUDED_
35 #define INVALIDEXTENTS 1.0e20
122 return ( (m_max.x >= m_min.x) && (m_max.y >= m_min.y) && (m_max.z >= m_min.z));
192 return m_min + (m_max - m_min) * 0.5;
197 kConvert2dPlaneXY = 0x04,
198 kConvert2dPlaneXZ = 0x0C,
199 kConvert2dPlaneYX = 0x01,
200 kConvert2dPlaneYZ = 0x0D,
201 kConvert2dPlaneZX = 0x03,
202 kConvert2dPlaneZY = 0x07
211 return isEqualTo(extents);
215 return !isEqualTo(extents);
224 return m_max - m_min;
304 #define ex_minmax(max, min, val) \
305 if (max < val) max = val;\
306 else if (min > val) min = val;
332 #define ex_minmax(max, min, valMax, valMin) \
333 if (max < valMax) max = valMax; \
334 if (min > valMin) min = valMin;
379 return ( (point.
x +
tol.equalPoint()) >=
m_min.
x
424 #undef INVALIDEXTENTS
#define ODA_ASSERT_ONCE(exp)
#define GE_TOOLKIT_EXPORT
#define ex_minmax(max, min, val)
bool OdNonZero(double x, double tol=1.e-10)
static GE_STATIC_EXPORT const OdGeExtents3d kInvalid
bool isDisjoint(const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
IntersectionStatus intersectWith(const OdGeExtents3d &extents, OdGeExtents3d *pResult=0) const
void addExt(const OdGeExtents3d &extents)
void addPoint(const OdGePoint3d &point)
OdGePoint3d center() const
void setFrom2d(const OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY)
bool isEqualTo(const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
bool isValidExtents() const
double distanceTo(const OdGePoint3d &iPoint) const
OdGeExtents3d & addPoints(const OdGePoint3dArray &points)
OdGeVector3d diagonal() const
void set(const OdGePoint3d &min, const OdGePoint3d &max)
void convert2d(OdGeExtents2d &extents, Convert2dPlane plane=kConvert2dPlaneXY) const
void expandBy(const OdGeVector3d &vect)
const OdGePoint3d & maxPoint() const
bool isDisjointEuclidean(const OdGeExtents3d &extents, const OdGeTol &tol=OdGeContext::gTol) const
bool contains(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
void transformBy(const OdGeMatrix3d &xfm)
const OdGePoint3d & minPoint() const
void comparingSet(const OdGePoint3d &pt1, const OdGePoint3d &pt2)
bool isEqualTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
static GE_STATIC_EXPORT const OdGeVector3d kYAxis
static GE_STATIC_EXPORT const OdGeVector3d kXAxis
bool operator==(const BlockRefPath &rA, const BlockRefPath &rB)
DOM.
bool operator!=(const BlockRefPath &rA, const BlockRefPath &rB)
DOM.
const T & min(const T &x, const T &y)
const T & max(const T &x, const T &y)
static GE_STATIC_EXPORT OdGeTol gTol