25#ifndef _SpExtents_h_Included_
26#define _SpExtents_h_Included_
76 if ( planar ==
false )
77 return !isDisjoint( extents,
tol );
83 return !( extents.
minPoint().
x > (maxPoint().x +
tol.equalPoint())
84 || extents.
minPoint().
y > (maxPoint().y +
tol.equalPoint())
85 || minPoint().x > (extents.
maxPoint().
x +
tol.equalPoint())
86 || minPoint().y > (extents.
maxPoint().
y +
tol.equalPoint()));
118 if ( m_min[dimension] > (coordinate +
tol) )
return right;
119 if ( m_max[dimension] < (coordinate -
tol) )
return left;
131 m_max[dimension] = ( m_min[dimension] + m_max[dimension]) / 2;
133 m_min[dimension] = ( m_min[dimension] + m_max[dimension]) / 2;
144 m_max[dimension] += ( m_max[dimension] - m_min[dimension] );
146 m_min[dimension] -= ( m_max[dimension] - m_min[dimension] );
154 if ( m_min.isEqualTo( m_max ) )
return;
155 double ext =
odmax( m_max.x - m_min.x, m_max.y - m_min.y );
156 if ( !planar ) ext =
odmax( m_max.z - m_min.z, ext );
157 m_max.x = m_min.x + ext;
158 m_max.y = m_min.y + ext;
159 if ( !planar ) m_max.z = m_min.z + ext;
const OdGePoint3d & maxPoint() const
bool contains(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
const OdGePoint3d & minPoint() const
void makeHalf(int dimension, bool moveRight)
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
Extent3d(const OdGePoint3d &min, const OdGePoint3d &max)
virtual bool contains(const OdGeExtents3d &extents, bool planar=false, const OdGeTol &tol=OdGeContext::gTol) const
void makeCube(bool planar)
Extent3d(const OdGeExtents2d &source)
Extent3d(const OdGeExtents3d &source)
void makeDouble(int dimension, bool moveRight)
GLsizei GLsizei GLchar * source
static GE_STATIC_EXPORT OdGeTol gTol