17 #if !defined(ON_BOUNDING_BOX_INC_)
18 #define ON_BOUNDING_BOX_INC_
87 double tolerance = ON_UNSET_VALUE
109 const double* point_array,
135 int bStrictlyIn =
false
457 bool bProperSubSet =
false
495 #if defined(ON_DLL_TEMPLATE)
500 #pragma warning( push )
501 #pragma warning( disable : 4231 )
503 #pragma warning( pop )
528 bool ON_GetPointListBoundingBox(
533 const double* point_list,
535 int bGrowBox =
false,
540 bool ON_GetPointListBoundingBox(
545 const float* point_list,
547 int bGrowBox =
false,
552 bool ON_GetPointListBoundingBox(
557 const double* point_list,
569 const double* point_list
573 bool ON_GetPointListBoundingBox(
578 const float* point_list,
590 const float* point_list
594 bool ON_GetPointGridBoundingBox(
597 int point_count0,
int point_count1,
598 int point_stride0,
int point_stride1,
599 const double* point_grid,
609 int point_count0,
int point_count1,
610 int point_stride0,
int point_stride1,
611 const double* point_grid
615 double ON_BoundingBoxTolerance(
617 const double* bboxmin,
618 const double* bboxmax
652 bool ON_WorldBBoxIsInTightBBox(
ON_BoundingBox(const ON_3dPoint &, const ON_3dPoint &)
double MaximumDistanceTo(const ON_Line &line) const
int IsVisible(const ON_Xform &bbox2c) const
void Dump(class ON_TextLog &) const
double MaximumDistanceTo(const ON_BoundingBox &other) const
bool Intersection(const ON_BoundingBox &other_bbox)
double MaximumDistanceTo(const ON_PlaneEquation &plane_equation) const
bool GetCorners(ON_3dPoint box_corners[8]) const
bool Includes(const ON_BoundingBox &other, bool bProperSubSet=false) const
double MinimumDistanceTo(const ON_PlaneEquation &plane_equation) const
bool Set(const ON_SimpleArray< ON_4dPoint > &point_array, int bGrowBox=false)
bool IsDisjoint(const ON_BoundingBox &other_bbox) const
double MinimumDistanceTo(const ON_Plane &plane) const
bool Set(const ON_3dPoint &point, int bGrowBox=false)
bool IsPointIn(const ON_3dPoint &test_point, int bStrictlyIn=false) const
bool Set(const ON_SimpleArray< ON_3dPoint > &point_array, int bGrowBox=false)
bool IsFartherThan(double d, const ON_3dPoint &P) const
double MinimumDistanceTo(const ON_BoundingBox &other) const
bool IsFartherThan(double d, const ON_Plane &plane) const
bool SwapCoordinates(int, int)
bool GetFarPoint(const ON_BoundingBox &, ON_3dPoint &, ON_3dPoint &) const
ON_3dPoint FarPoint(const ON_3dPoint &) const
bool Transform(const ON_Xform &)
bool Set(const ON_SimpleArray< ON_2dPoint > &point_array, int bGrowBox=false)
bool GetCorners(ON_3dPointArray &box_corners) const
double MinimumDistanceTo(const ON_Line &line) const
bool Set(int dim, int is_rat, int count, int stride, const double *point_array, int bGrowBox=false)
int GetClosestPoint(const ON_Line &, ON_3dPoint &, double *, double *) const
bool Union(const ON_BoundingBox &)
bool IsFartherThan(double d, const ON_BoundingBox &other) const
bool IsFartherThan(double d, const ON_Line &line) const
int IsDegenerate(double tolerance=ON_UNSET_VALUE) const
ON_3dPoint Center() const
ON_3dVector Diagonal() const
bool Union(const ON_BoundingBox &, const ON_BoundingBox &)
bool IsFartherThan(double d, const ON_PlaneEquation &plane_equation) const
double MaximumDistanceTo(const ON_3dPoint &P) const
double MinimumDistanceTo(const ON_3dPoint &P) const
bool Intersection(const ON_BoundingBox &bbox_A, const ON_BoundingBox &bbox_B)
static const ON_BoundingBox EmptyBoundingBox
bool Intersection(const ON_Line &, double *=NULL, double *=NULL) const
double MaximumDistanceTo(const ON_Plane &plane) const
ON_3dPoint Corner(int, int, int) const
bool GetClosestPoint(const ON_BoundingBox &, ON_3dPoint &, ON_3dPoint &) const
const ON_3dPoint & operator[](int) const
ON_3dPoint & operator[](int)
ON_3dPoint ClosestPoint(const ON_3dPoint &test_point) const