25#ifndef _SpBBlock_h_Included_
26#define _SpBBlock_h_Included_
104 const OdGePoint3d pt((planeNormal[0] > 0.0) ? maxPt.
x : minPt.
x,
105 (planeNormal[1] > 0.0) ? maxPt.
y : minPt.
y,
106 (planeNormal[2] > 0.0) ? maxPt.
z : minPt.
z);
114 return planeNormal.
x * pt.
x + planeNormal.
y * pt.
y + planeNormal.
z * pt.
z + planeDist >= -
tol;
220 const double xScale =
m_basis[0].normalizeGetLength();
221 const double yScale =
m_basis[1].normalizeGetLength();
222 const double zScale =
m_basis[2].normalizeGetLength();
298 enum { kXAlign = (1 << 0), kYAlign = (1 << 1), kZAlign = (1 << 2), kXOrtho = (1 << 3), kYOrtho = (1 << 4), kZOrtho = (1 << 5) };
299#define CheckFlags(flags) ((classFlags & (flags)) == (flags))
309 enum { kXZeroX = (1 << 6), kXZeroY = (1 << 7), kXZeroZ = (1 << 8), kYZeroX = (1 << 9), kYZeroY = (1 << 10), kYZeroZ = (1 << 11), kZZeroX = (1 << 12), kZZeroY = (1 << 13), kZZeroZ = (1 << 14) };
327 else if (
CheckFlags(kXOrtho | kYOrtho | kZOrtho))
bool OdZero(double x, double tol=1.e-10)
#define GETBIT(flags, bit)
#define SETBIT_1(flags, bit)
#define CheckFlags(flags)
OdGePoint3d maxPoint() const
void get(OdGePoint3d &base, OdGeVector3d &side1, OdGeVector3d &side2, OdGeVector3d &side3) const
OdGePoint3d minPoint() const
void set(const OdGePoint3d &min, const OdGePoint3d &max)
const OdGePoint3d & maxPoint() const
const OdGePoint3d & minPoint() const
static GE_STATIC_EXPORT const OdGePoint3d kOrigin
double equalPoint() const
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
double dotProduct(const OdGeVector3d &vect) const
static GE_STATIC_EXPORT const OdGeVector3d kYAxis
static GE_STATIC_EXPORT const OdGeVector3d kXAxis
void setGeBoundBlock(const OdGeBoundBlock3d &bb)
bool isDisjoint(const OdGeExtents3d &exts, const OdGeTol &tolerance=OdGeContext::gTol) const
void set(const OdGeBoundBlock3d &bb)
OdSiBoundBlock3d(const OdGePoint3d &p1, const OdGePoint3d &p2)
bool intersectPlane(const OdGePoint3d &minPt, const OdGePoint3d &maxPt, const OdGeVector3d &planeNormal, double planeDist, double tol) const
void getMinMaxPoints(OdGePoint3d &p1, OdGePoint3d &p2) const
OdSiBoundBlock3d(const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
void transformBy(const OdGeMatrix3d &tm)
bool contains(const OdGeExtents3d &exts, const OdGeTol &tolerance=OdGeContext::gTol) const
OdSiBoundBlock3d(const OdGeExtents3d &ab)
OdSiBoundBlock3d(const OdGeBoundBlock3d &bb)
OdGePoint3d maxPoint() const
void subClassifyArbitrary()
void extents(OdGeExtents3d &exts) const
void setGeExtents(const OdGeExtents3d &ab)
void setWcsBasis(bool bNormalIval=true)
void set(const OdGePoint3d &p1, const OdGePoint3d &p2)
bool intersectPlaneBk(const OdGeVector3d &planeNormal, double planeDist, double tol) const
void set(const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
void setUnclassified(const OdGePoint3d &origin, const OdGeVector3d &xAxis, const OdGeVector3d &yAxis, const OdGeVector3d &zAxis)
OdGePoint3d minPoint() const
void set(const OdGeExtents3d &ab)
void getInternalArbitraryBasis(OdGePoint3d &minPoint, OdGePoint3d &maxPoint, OdGeVector3d &xNorm, OdGeVector3d &yNorm, OdGeVector3d &zNorm) const
enum OdSiBoundBlock3d::BasisType m_type
bool intersectPoint(const OdGePoint3d &pt, const OdGeVector3d &planeNormal, double planeDist, double tol) const
void get(OdGePoint3d &origin, OdGeVector3d &xAxis, OdGeVector3d &yAxis, OdGeVector3d &zAxis) const
GLfloat GLfloat GLfloat z
static GE_STATIC_EXPORT OdGeTol gTol