#include <opennurbs_bounding_box.h>
Public Member Functions | |
| ON_BoundingBox () ON_NOEXCEPT | |
| ON_BoundingBox (const ON_BoundingBox &)=default | |
| ON_BoundingBox (const ON_3dPoint &, const ON_3dPoint &) | |
| ~ON_BoundingBox ()=default | |
| double | Area () const | 
| ON_3dPoint | Center () const | 
| ON_3dPoint | ClosestPoint (const ON_3dPoint &test_point) const | 
| ON_3dPoint | Corner (int, int, int) const | 
| void | Destroy () | 
| OBSOLETE.  More... | |
| ON_3dVector | Diagonal () const | 
| void | Dump (class ON_TextLog &) const | 
| ON_3dPoint | FarPoint (const ON_3dPoint &) const | 
| Point on the box that is farthest from the test_point.  More... | |
| int | GetClosestPoint (const ON_Line &, ON_3dPoint &, double *, double *) const | 
| Get point in a bounding box that is closest to a line segment.  More... | |
| bool | GetClosestPoint (const ON_BoundingBox &, ON_3dPoint &, ON_3dPoint &) const | 
| bool | GetCorners (ON_3dPointArray &box_corners) const | 
| bool | GetCorners (ON_3dPoint box_corners[8]) const | 
| bool | GetEdges (ON_Line edges[12]) const | 
| bool | GetFarPoint (const ON_BoundingBox &, ON_3dPoint &, ON_3dPoint &) const | 
| Get points on bounding boxes that are farthest from each other.  More... | |
| bool | Includes (const ON_BoundingBox &other, bool bProperSubSet=false) const | 
| Test a box to see if it is contained in this box.  More... | |
| bool | Intersection (const ON_BoundingBox &other_bbox) | 
| Intersect this with other_bbox and save intersection in this.  More... | |
| bool | Intersection (const ON_BoundingBox &bbox_A, const ON_BoundingBox &bbox_B) | 
| Set "this" to the intersection of bbox_A and bbox_B.  More... | |
| bool | Intersection (const ON_Line &, double *=nullptr, double *=nullptr) const | 
| int | IsDegenerate (double tolerance=ON_UNSET_VALUE) const | 
| Test a bounding box to see if it is degenerate (flat) in one or more directions.  More... | |
| bool | IsDisjoint (const ON_BoundingBox &other_bbox) const | 
| Test to see if "this" and other_bbox are disjoint (do not intersect).  More... | |
| bool | IsEmpty () const | 
| bool | IsFartherThan (double d, const ON_3dPoint &P) const | 
| Quickly determine if the shortest distance from the point P to the bounding box is greater than d.  More... | |
| bool | IsFartherThan (double d, const ON_Line &line) const | 
| Quickly determine if the shortest distance from the line to the bounding box is greater than d.  More... | |
| bool | IsFartherThan (double d, const ON_Plane &plane) const | 
| Quickly determine if the shortest distance from the plane to the bounding box is greater than d.  More... | |
| bool | IsFartherThan (double d, const ON_PlaneEquation &plane_equation) const | 
| Quickly determine if the shortest distance from the plane to the bounding box is greater than d.  More... | |
| bool | IsFartherThan (double d, const ON_BoundingBox &other) const | 
| Quickly determine if the shortest distance this bounding box to another bounding box is greater than d.  More... | |
| bool | IsNan () const | 
| bool | IsNotEmpty () const | 
| bool | IsPoint () const | 
| bool | IsPointIn (const ON_3dPoint &test_point, int bStrictlyIn=false) const | 
| bool | IsSet () const | 
| bool | IsUnset () const | 
| bool | IsUnsetOrNan () const | 
| bool | IsValid () const | 
| OBSOLETE IsValid() = IsNotEmpty()  More... | |
| int | IsVisible (const ON_Xform &bbox2c) const | 
| ON_3dPoint | Max () const | 
| double | MaximumDistanceTo (const ON_3dPoint &P) const | 
| Quickly find an upper bound on the distance between the point and this bounding box.  More... | |
| double | MaximumDistanceTo (const ON_BoundingBox &other) const | 
| Quickly find an upper bound on the distance between this and the other bounding box.  More... | |
| double | MaximumDistanceTo (const ON_Line &line) const | 
| Quickly find an upper bound on the distance between the line segment and this bounding box.  More... | |
| double | MaximumDistanceTo (const ON_Plane &plane) const | 
| Quickly find a tight upper bound on the distance between the plane and this bounding box.  More... | |
| double | MaximumDistanceTo (const ON_PlaneEquation &plane_equation) const | 
| ON_3dPoint | Min () const | 
| double | MinimumDistanceTo (const ON_3dPoint &P) const | 
| Quickly find a lower bound on the distance between the point and this bounding box.  More... | |
| double | MinimumDistanceTo (const ON_BoundingBox &other) const | 
| Quickly find a lower bound on the distance between this and the other bounding box.  More... | |
| double | MinimumDistanceTo (const ON_Line &line) const | 
| Quickly find a lower bound on the distance between the line segment and this bounding box.  More... | |
| double | MinimumDistanceTo (const ON_Plane &plane) const | 
| Quickly find a tight lower bound on the distance between the plane and this bounding box.  More... | |
| double | MinimumDistanceTo (const ON_PlaneEquation &plane_equation) const | 
| ON_BoundingBox & | operator= (const ON_BoundingBox &)=default | 
| ON_3dPoint & | operator[] (int) | 
| operator[] returns min if index <= 0 and max if indes >= 1  More... | |
| const ON_3dPoint & | operator[] (int) const | 
| bool | Set (int dim, bool is_rat, int count, int stride, const double *point_array, int bGrowBox=false) | 
| bool | Set (const ON_3dPoint &point, int bGrowBox=false) | 
| bool | Set (const ON_2dPoint &point, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_4dPoint > &point_array, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_3dPoint > &point_array, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_2dPoint > &point_array, int bGrowBox=false) | 
| bool | Set (int dim, bool is_rat, int count, int stride, const float *point_array, int bGrowBox=false) | 
| bool | Set (const ON_3fPoint &point, int bGrowBox=false) | 
| bool | Set (const ON_2fPoint &point, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_4fPoint > &point_array, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_3fPoint > &point_array, int bGrowBox=false) | 
| bool | Set (const ON_SimpleArray< ON_2fPoint > &point_array, int bGrowBox=false) | 
| bool | SwapCoordinates (int, int) | 
| double | Tolerance () const | 
| bool | Transform (const ON_Xform &) | 
| bool | Union (const ON_BoundingBox &) | 
| bool | Union (const ON_BoundingBox &, const ON_BoundingBox &) | 
| double | Volume () const | 
Public Attributes | |
| ON_3dPoint | m_max | 
| ON_3dPoint | m_min | 
Static Public Attributes | |
| static const ON_BoundingBox | EmptyBoundingBox | 
| static const ON_BoundingBox | NanBoundingBox | 
| static const ON_BoundingBox | UnsetBoundingBox | 
| ON_BoundingBox::ON_BoundingBox | ( | ) | 
      
  | 
  default | 
      
  | 
  default | 
      
  | 
  explicit | 
| double ON_BoundingBox::Area | ( | ) | const | 
| ON_3dPoint ON_BoundingBox::Center | ( | ) | const | 
| ON_3dPoint ON_BoundingBox::ClosestPoint | ( | const ON_3dPoint & | test_point | ) | const | 
| ON_3dPoint ON_BoundingBox::Corner | ( | int | , | 
| int | , | ||
| int | |||
| ) | const | 
| void ON_BoundingBox::Destroy | ( | ) | 
OBSOLETE.
| ON_3dVector ON_BoundingBox::Diagonal | ( | ) | const | 
| void ON_BoundingBox::Dump | ( | class ON_TextLog & | ) | const | 
| ON_3dPoint ON_BoundingBox::FarPoint | ( | const ON_3dPoint & | ) | const | 
Point on the box that is farthest from the test_point.
| int ON_BoundingBox::GetClosestPoint | ( | const ON_Line & | , | 
| ON_3dPoint & | , | ||
| double * | , | ||
| double * | |||
| ) | const | 
Get point in a bounding box that is closest to a line segment.
| line | [in] line segment | 
| box_point | [out] point in box that is closest to line segment point at t0. | 
| t0 | [out] parameter of point on line that is closest to the box. | 
| t1 | [out] parameter of point on line that is closest to the box. | 
The box is treated as a solid box. If the intersection of the line segment, then 3 is returned.
| bool ON_BoundingBox::GetClosestPoint | ( | const ON_BoundingBox & | , | 
| ON_3dPoint & | , | ||
| ON_3dPoint & | |||
| ) | const | 
| bool ON_BoundingBox::GetCorners | ( | ON_3dPointArray & | box_corners | ) | const | 
| bool ON_BoundingBox::GetCorners | ( | ON_3dPoint | box_corners[8] | ) | const | 
| bool ON_BoundingBox::GetEdges | ( | ON_Line | edges[12] | ) | const | 
TODODOC: edges[] - out TODODOC: 12 edge lines. If the bounding box has no height, width or depth, TODODOC: then the corresponding edges will have the same "from" and "to" TODODOC: points.
| bool ON_BoundingBox::GetFarPoint | ( | const ON_BoundingBox & | , | 
| ON_3dPoint & | , | ||
| ON_3dPoint & | |||
| ) | const | 
Get points on bounding boxes that are farthest from each other.
| bool ON_BoundingBox::Includes | ( | const ON_BoundingBox & | other, | 
| bool | bProperSubSet = false  | 
        ||
| ) | const | 
Test a box to see if it is contained in this box.
| other | [in] box to test | 
| bProperSubSet | [in] if true, then the test is for a proper inclusion. | 
| bool ON_BoundingBox::Intersection | ( | const ON_BoundingBox & | other_bbox | ) | 
Intersect this with other_bbox and save intersection in this.
| other_bbox | [in] | 
If "this" or other_bbox is invalid, they are treated as the empty set, and false is returned.
| bool ON_BoundingBox::Intersection | ( | const ON_BoundingBox & | bbox_A, | 
| const ON_BoundingBox & | bbox_B | ||
| ) | 
Set "this" to the intersection of bbox_A and bbox_B.
| bbox_A | [in] | 
| bbox_B | [in] | 
If bbox_A or bbox_B is invalid, they are treated as the empty set, and false is returned.
| bool ON_BoundingBox::Intersection | ( | const ON_Line & | , | 
| double * |  = nullptr,  | 
        ||
| double * |  = nullptr  | 
        ||
| ) | const | 
| int ON_BoundingBox::IsDegenerate | ( | double | tolerance = ON_UNSET_VALUE | ) | const | 
Test a bounding box to see if it is degenerate (flat) in one or more directions.
| tolerance | [in] Distances <= tolerance will be considered to be zero. If tolerance is negative (default), then a scale invarient tolerance is used. | 
| bool ON_BoundingBox::IsDisjoint | ( | const ON_BoundingBox & | other_bbox | ) | const | 
Test to see if "this" and other_bbox are disjoint (do not intersect).
| other_bbox | [in] | 
If "this" or other_bbox is invalid, then true is returned.
| bool ON_BoundingBox::IsEmpty | ( | ) | const | 
| bool ON_BoundingBox::IsFartherThan | ( | double | d, | 
| const ON_3dPoint & | P | ||
| ) | const | 
Quickly determine if the shortest distance from the point P to the bounding box is greater than d.
| d | [in] distance (> 0.0) | 
| P | [in] | 
| bool ON_BoundingBox::IsFartherThan | ( | double | d, | 
| const ON_Line & | line | ||
| ) | const | 
Quickly determine if the shortest distance from the line to the bounding box is greater than d.
| d | [in] distance (> 0.0) | 
| line | [in] | 
| bool ON_BoundingBox::IsFartherThan | ( | double | d, | 
| const ON_Plane & | plane | ||
| ) | const | 
Quickly determine if the shortest distance from the plane to the bounding box is greater than d.
| d | [in] distance (> 0.0) | 
| plane | [in] | 
| bool ON_BoundingBox::IsFartherThan | ( | double | d, | 
| const ON_PlaneEquation & | plane_equation | ||
| ) | const | 
Quickly determine if the shortest distance from the plane to the bounding box is greater than d.
| d | [in] distance (> 0.0) | 
| plane_equation | [in] (the first three coefficients are assumed to be a unit vector. If not, adjust your d accordingly.) | 
| bool ON_BoundingBox::IsFartherThan | ( | double | d, | 
| const ON_BoundingBox & | other | ||
| ) | const | 
Quickly determine if the shortest distance this bounding box to another bounding box is greater than d.
| d | [in] distance (> 0.0) | 
| other | [in] other bounding box | 
| bool ON_BoundingBox::IsNan | ( | ) | const | 
| bool ON_BoundingBox::IsNotEmpty | ( | ) | const | 
| bool ON_BoundingBox::IsPoint | ( | ) | const | 
| bool ON_BoundingBox::IsPointIn | ( | const ON_3dPoint & | test_point, | 
| int | bStrictlyIn = false  | 
        ||
| ) | const | 
| bool ON_BoundingBox::IsSet | ( | ) | const | 
| bool ON_BoundingBox::IsUnset | ( | ) | const | 
| bool ON_BoundingBox::IsUnsetOrNan | ( | ) | const | 
| bool ON_BoundingBox::IsValid | ( | ) | const | 
OBSOLETE IsValid() = IsNotEmpty()
| int ON_BoundingBox::IsVisible | ( | const ON_Xform & | bbox2c | ) | const | 
| ON_3dPoint ON_BoundingBox::Max | ( | ) | const | 
| double ON_BoundingBox::MaximumDistanceTo | ( | const ON_3dPoint & | P | ) | const | 
Quickly find an upper bound on the distance between the point and this bounding box.
| P | [in] | 
| double ON_BoundingBox::MaximumDistanceTo | ( | const ON_BoundingBox & | other | ) | const | 
Quickly find an upper bound on the distance between this and the other bounding box.
| other | [in] | 
| double ON_BoundingBox::MaximumDistanceTo | ( | const ON_Line & | line | ) | const | 
Quickly find an upper bound on the distance between the line segment and this bounding box.
| line | [in] | 
| double ON_BoundingBox::MaximumDistanceTo | ( | const ON_Plane & | plane | ) | const | 
Quickly find a tight upper bound on the distance between the plane and this bounding box.
| plane | [in] | 
| double ON_BoundingBox::MaximumDistanceTo | ( | const ON_PlaneEquation & | plane_equation | ) | const | 
| ON_3dPoint ON_BoundingBox::Min | ( | ) | const | 
| double ON_BoundingBox::MinimumDistanceTo | ( | const ON_3dPoint & | P | ) | const | 
Quickly find a lower bound on the distance between the point and this bounding box.
| P | [in] | 
| double ON_BoundingBox::MinimumDistanceTo | ( | const ON_BoundingBox & | other | ) | const | 
Quickly find a lower bound on the distance between this and the other bounding box.
| other | [in] | 
| double ON_BoundingBox::MinimumDistanceTo | ( | const ON_Line & | line | ) | const | 
Quickly find a lower bound on the distance between the line segment and this bounding box.
| line | [in] | 
| double ON_BoundingBox::MinimumDistanceTo | ( | const ON_Plane & | plane | ) | const | 
Quickly find a tight lower bound on the distance between the plane and this bounding box.
| plane | [in] | 
| double ON_BoundingBox::MinimumDistanceTo | ( | const ON_PlaneEquation & | plane_equation | ) | const | 
      
  | 
  default | 
| ON_3dPoint& ON_BoundingBox::operator[] | ( | int | ) | 
operator[] returns min if index <= 0 and max if indes >= 1
| const ON_3dPoint& ON_BoundingBox::operator[] | ( | int | ) | const | 
| bool ON_BoundingBox::Set | ( | int | dim, | 
| bool | is_rat, | ||
| int | count, | ||
| int | stride, | ||
| const double * | point_array, | ||
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_3dPoint & | point, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_2dPoint & | point, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_4dPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_3dPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_2dPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | int | dim, | 
| bool | is_rat, | ||
| int | count, | ||
| int | stride, | ||
| const float * | point_array, | ||
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_3fPoint & | point, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_2fPoint & | point, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_4fPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_3fPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::Set | ( | const ON_SimpleArray< ON_2fPoint > & | point_array, | 
| int | bGrowBox = false  | 
        ||
| ) | 
| bool ON_BoundingBox::SwapCoordinates | ( | int | , | 
| int | |||
| ) | 
| double ON_BoundingBox::Tolerance | ( | ) | const | 
| bool ON_BoundingBox::Transform | ( | const ON_Xform & | ) | 
| bool ON_BoundingBox::Union | ( | const ON_BoundingBox & | ) | 
| bool ON_BoundingBox::Union | ( | const ON_BoundingBox & | , | 
| const ON_BoundingBox & | |||
| ) | 
| double ON_BoundingBox::Volume | ( | ) | const | 
      
  | 
  static | 
| ON_3dPoint ON_BoundingBox::m_max | 
| ON_3dPoint ON_BoundingBox::m_min | 
      
  | 
  static | 
      
  | 
  static |