17 #if !defined(ON_BOUNDING_BOX_INC_) 18 #define ON_BOUNDING_BOX_INC_ 54 ON_3dPoint& operator[](
int);
55 const ON_3dPoint& operator[](
int) const;
57 ON_3dPoint Min() const;
58 ON_3dPoint Max() const;
60 ON_3dPoint Center() const;
70 ON_3dPoint box_corners[8]
95 bool IsUnsetOrNan() const;
98 bool IsNotEmpty() const;
120 double tolerance = ON_UNSET_VALUE
131 double Tolerance() const;
142 const
double* point_array,
147 const ON_3dPoint& point,
176 const
float* point_array,
206 const ON_3dPoint& test_point,
207 int bStrictlyIn = false
216 ON_3dPoint ClosestPoint(
217 const ON_3dPoint& test_point
233 double MinimumDistanceTo( const ON_3dPoint& P ) const;
247 double MaximumDistanceTo( const ON_3dPoint& P ) const;
293 double MinimumDistanceTo( const
ON_Line& line ) const;
308 double MinimumDistanceTo( const
ON_Plane& plane ) const;
324 double MaximumDistanceTo( const
ON_Line& line ) const;
343 double MaximumDistanceTo( const
ON_Plane& plane ) const;
358 bool IsFartherThan(
double d, const ON_3dPoint& P ) const;
373 bool IsFartherThan(
double d, const
ON_Line& line ) const;
387 bool IsFartherThan(
double d, const
ON_Plane& plane ) const;
403 bool IsFartherThan(
double d, const
ON_PlaneEquation& plane_equation ) const;
416 bool IsFartherThan(
double d, const
ON_BoundingBox& other ) const;
452 bool GetClosestPoint(
467 const ON_BoundingBox&,
486 const ON_BoundingBox& other_bbox
504 const ON_BoundingBox& bbox_A,
505 const ON_BoundingBox& bbox_B
528 const ON_BoundingBox& other,
529 bool bProperSubSet = false
532 double Volume() const;
539 const ON_BoundingBox&
543 const ON_BoundingBox&,
544 const ON_BoundingBox&
558 const ON_BoundingBox& other_bbox
561 bool SwapCoordinates(
int,
int );
572 bool operator==( const ON_BoundingBox& lhs, const ON_BoundingBox& rhs );
579 bool operator!=( const ON_BoundingBox& lhs, const ON_BoundingBox& rhs );
584 ON_BoundingBoxAndHash() =
default;
585 ~ON_BoundingBoxAndHash() =
default;
586 ON_BoundingBoxAndHash(
const ON_BoundingBoxAndHash&) =
default;
587 ON_BoundingBoxAndHash& operator=(
const ON_BoundingBoxAndHash&) =
default;
595 const ON_BoundingBox& bbox,
599 const ON_BoundingBox& BoundingBox()
const;
684 bool RemoveBoundingBox(
700 void RemoveAllBoundingBoxes();
706 unsigned int BoundingBoxCount()
const;
718 unsigned int m_count = 0;
721 unsigned int m_capacity = 0;
731 unsigned int Internal_CacheIndex(
const ON_SHA1_Hash& hash)
const;
734 #if defined(ON_DLL_TEMPLATE) 762 bool ON_GetPointListBoundingBox(
767 const double* point_list,
769 int bGrowBox =
false,
774 bool ON_GetPointListBoundingBox(
779 const float* point_list,
781 int bGrowBox =
false,
786 bool ON_GetPointListBoundingBox(
791 const double* point_list,
803 const double* point_list
807 bool ON_GetPointListBoundingBox(
812 const float* point_list,
824 const float* point_list
828 bool ON_GetPointGridBoundingBox(
831 int point_count0,
int point_count1,
832 int point_stride0,
int point_stride1,
833 const double* point_grid,
843 int point_count0,
int point_count1,
844 int point_stride0,
int point_stride1,
845 const double* point_grid
849 double ON_BoundingBoxTolerance(
851 const double* bboxmin,
852 const double* bboxmax
886 bool ON_WorldBBoxIsInTightBBox(
Definition: opennurbs_bounding_box.h:562
Definition: opennurbs_bounding_box.h:606
static const ON_BoundingBox EmptyBoundingBox
Definition: opennurbs_bounding_box.h:28
static const ON_SHA1_Hash EmptyContentHash
Definition: opennurbs_sha1.h:23
Definition: opennurbs_array.h:36
Definition: opennurbs_sha1.h:19
Definition: opennurbs_fpoint.h:211
static const ON_BoundingBox UnsetBoundingBox
Definition: opennurbs_bounding_box.h:29
Definition: opennurbs_point.h:277
Definition: opennurbs_point.h:2018
static const ON_BoundingBox NanBoundingBox
Definition: opennurbs_bounding_box.h:30
Definition: opennurbs_point.h:648
Definition: opennurbs_bounding_box.h:25
Definition: opennurbs_line.h:20
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
Definition: opennurbs_fpoint.h:38
Definition: opennurbs_point.h:460
Definition: opennurbs_plane.h:20
Definition: opennurbs_fpoint.h:385
Typically the vector portion is a unit vector and m_d = -(x*P.x + y*P.y + z*P.z) for a point P on the...
Definition: opennurbs_point.h:1433
Definition: opennurbs_point.h:1152