#include <opennurbs_plus.h>
|
| ON_CurveLeafBox () |
|
bool | GetClosestPointSeed (const ON_3dPoint &P, double *t) const |
|
bool | GetClosestPointSeed (const ON_CurveLeafBox &crvleafbox, double *t, double *c) const |
|
bool | GetClosestPointSeed (const ON_SurfaceLeafBox &srfleafbox, double *t, double *s0, double *s1) const |
|
bool | IsFartherThan (double d, const ON_3dPoint &P) const |
|
bool | IsFartherThan (double d, const ON_BoundingBox &bbox) const |
|
bool | IsFartherThan (double d, const ON_CurveLeafBox &crvleafbox) const |
|
bool | IsFartherThan (double d, const ON_Line &L) const |
|
bool | IsFartherThan (double d, const ON_Plane &plane) const |
|
bool | IsFartherThan (double d, const ON_PlaneEquation &plane_equation) const |
|
bool | IsFartherThan (double d, const ON_SurfaceLeafBox &srfleafbox) const |
|
bool | IsPointIn (const ON_3dPoint &P) const |
|
bool | IsValid (ON_TextLog *text_log) const |
| C++ default copy constructor, operator =, and destructor work fine. More...
|
|
double | MaximumDistanceTo (const ON_BoundingBox &bbox) const |
|
double | MaximumDistanceTo (const ON_CurveLeafBox &crvleafbox) const |
|
double | MaximumDistanceTo (const ON_Line &L) const |
|
double | MaximumDistanceTo (const ON_Plane &plane) const |
|
double | MaximumDistanceTo (const ON_PlaneEquation &plane_equation) const |
|
double | MaximumDistanceTo (const ON_SurfaceLeafBox &srfleafbox) const |
|
double | MaximumDistanceTo (ON_3dPoint P) const |
|
double | MinimumDistanceTo (const ON_BoundingBox &bbox) const |
|
double | MinimumDistanceTo (const ON_CurveLeafBox &crvleafbox) const |
|
double | MinimumDistanceTo (const ON_Line &L) const |
|
double | MinimumDistanceTo (const ON_Plane &plane) const |
|
double | MinimumDistanceTo (const ON_PlaneEquation &plane_equation) const |
|
double | MinimumDistanceTo (const ON_SurfaceLeafBox &srfleafbox) const |
|
double | MinimumDistanceTo (ON_3dPoint P) const |
|
ON_3dPoint | PointAt (double t) const |
|
double | Radius () const |
|
bool | Set (const ON_BezierCurve *bez) |
|
◆ ON_CurveLeafBox()
ON_CurveLeafBox::ON_CurveLeafBox |
( |
| ) |
|
◆ GetClosestPointSeed() [1/3]
bool ON_CurveLeafBox::GetClosestPointSeed |
( |
const ON_3dPoint & |
P, |
|
|
double * |
t |
|
) |
| const |
Description: Quickly estimate curve and surface parameters for finding closest points. Parameters: P - [in] another point crvleafbox - [in] srfleafbox - [in] t - [out] curve parameter (0 <= t <= 1). c - [out] other curve parameter (0 <= c <= 1) s0 - [out] other surface parameter (0 <= s0 <= 1) s1 - [out] other surface parameter (0 <= s1 <= 1) Returns: True if the estimates were calculated.
◆ GetClosestPointSeed() [2/3]
bool ON_CurveLeafBox::GetClosestPointSeed |
( |
const ON_CurveLeafBox & |
crvleafbox, |
|
|
double * |
t, |
|
|
double * |
c |
|
) |
| const |
◆ GetClosestPointSeed() [3/3]
bool ON_CurveLeafBox::GetClosestPointSeed |
( |
const ON_SurfaceLeafBox & |
srfleafbox, |
|
|
double * |
t, |
|
|
double * |
s0, |
|
|
double * |
s1 |
|
) |
| const |
◆ IsFartherThan() [1/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_3dPoint & |
P |
|
) |
| const |
Description: Quickly determine if the shortest distance between this leaf box and the other object is greater than d. Parameters: d - [in] distance (> 0.0) P - [in] another point bbox - [in] another axis aligned bounding box crvleafbox - [in] another curve tree node leaf box srfleafbox - [in] another surface tree node leaf box Returns: True if the shortest distance from this leaf box to the other object is greater than d. It is not the case that false means that the shortest distance is less than or equal to d.
◆ IsFartherThan() [2/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_BoundingBox & |
bbox |
|
) |
| const |
◆ IsFartherThan() [3/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_CurveLeafBox & |
crvleafbox |
|
) |
| const |
◆ IsFartherThan() [4/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_Line & |
L |
|
) |
| const |
◆ IsFartherThan() [5/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_Plane & |
plane |
|
) |
| const |
◆ IsFartherThan() [6/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_PlaneEquation & |
plane_equation |
|
) |
| const |
◆ IsFartherThan() [7/7]
bool ON_CurveLeafBox::IsFartherThan |
( |
double |
d, |
|
|
const ON_SurfaceLeafBox & |
srfleafbox |
|
) |
| const |
◆ IsPointIn()
bool ON_CurveLeafBox::IsPointIn |
( |
const ON_3dPoint & |
P | ) |
const |
Description: Determine if the point P is in this curve leaf box. Parameters: P - [in] Returns: True if the point is in the curve leaf box.
◆ IsValid()
bool ON_CurveLeafBox::IsValid |
( |
ON_TextLog * |
text_log | ) |
const |
C++ default copy constructor, operator =, and destructor work fine.
Description: Test the leaf box to make sure its settings are valid. Parameters: text_log - [in] If an error is found and text_log is not null, then a short description of the problem is printed to the text_log. Returns: True if the leaf box is valid, and false otherwise.
◆ MaximumDistanceTo() [1/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_BoundingBox & |
bbox | ) |
const |
◆ MaximumDistanceTo() [2/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_CurveLeafBox & |
crvleafbox | ) |
const |
◆ MaximumDistanceTo() [3/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_Line & |
L | ) |
const |
◆ MaximumDistanceTo() [4/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_Plane & |
plane | ) |
const |
◆ MaximumDistanceTo() [5/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_PlaneEquation & |
plane_equation | ) |
const |
◆ MaximumDistanceTo() [6/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
const ON_SurfaceLeafBox & |
srfleafbox | ) |
const |
◆ MaximumDistanceTo() [7/7]
double ON_CurveLeafBox::MaximumDistanceTo |
( |
ON_3dPoint |
P | ) |
const |
Description: Quickly find an upper bound on the longest distance between the this leaf box and the other object. Parameters: P - [in] another point line - [in] another line segment bbox - [in] another axis aligned bounding box crvleafbox - [in] crvleafbox - [in] Returns: A distance that is greater than or equal to the longest distance from this leaf box to the other object. Put another way, if Q is any point on this leaf box and P is any point on the other object, then P.DistanceTo(Q) <= MaximumDistanceTo(other).
◆ MinimumDistanceTo() [1/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_BoundingBox & |
bbox | ) |
const |
◆ MinimumDistanceTo() [2/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_CurveLeafBox & |
crvleafbox | ) |
const |
◆ MinimumDistanceTo() [3/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_Line & |
L | ) |
const |
◆ MinimumDistanceTo() [4/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_Plane & |
plane | ) |
const |
◆ MinimumDistanceTo() [5/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_PlaneEquation & |
plane_equation | ) |
const |
◆ MinimumDistanceTo() [6/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
const ON_SurfaceLeafBox & |
srfleafbox | ) |
const |
◆ MinimumDistanceTo() [7/7]
double ON_CurveLeafBox::MinimumDistanceTo |
( |
ON_3dPoint |
P | ) |
const |
Description: Quickly find a lower bound on the distance between the this leaf box and the other object. Parameters: P - [in] another point bbox - [in] another axis aligned bounding box crvleafbox - [in] another curve tree node leaf box srfleafbox - [in] another surface tree node leaf box Returns: A distance that is less than or equal to the shortest distance from this leaf box to the other object. Put another way, if Q is any point on this leaf box and P is any point on the other object, then then P.DistanceTo(Q) >= MinimumDistanceTo(other).
◆ PointAt()
ON_3dPoint ON_CurveLeafBox::PointAt |
( |
double |
t | ) |
const |
Description: Point on the chord connecting the bezier's endpoints. Parameters: t - [in] 0.0 < t < 1.0 Returns: m_L.PointAt(t)
◆ Radius()
double ON_CurveLeafBox::Radius |
( |
| ) |
const |
Description: "Radius" of the curve leaf box. A point is in the leaf box if the shortest distance from the point to the chord m_M is <= "radius". Returns: Radius of the leaf box.
◆ Set()
Description: Sets the leaf box to contain bezier curve. Parameters: bez - [in] Valid bezier curve. Returns: True if input was valid and the leaf box was set.
◆ m_bDegen
bool ON_CurveLeafBox::m_bDegen |
◆ m_bMono
bool ON_CurveLeafBox::m_bMono |
True if m_L.Tangent()oC' >= 0 for every point on C.
◆ m_bRes
bool ON_CurveLeafBox::m_bRes |
NEVER set or reference this value.
◆ m_bValid
bool ON_CurveLeafBox::m_bValid |
True if the curve leaf box is set.
◆ m_e
equation of a plane perpendicular to m_L and containing m_L.from
◆ m_e0
double ON_CurveLeafBox::m_e0 |
If P is a point on the curve, then m_e0 <= m_e.ValueAt(P) <= m_e1.
◆ m_e1
double ON_CurveLeafBox::m_e1 |
◆ m_L
chord from start of C to end of C
Below, "C" is the portion of the curve contained in this this curve leaf box.
◆ m_M
smallest chord that contains m_L and such that every point on C projects orthogonally to m_M. For monotone chords, m_L = m_M.
◆ m_r
double ON_CurveLeafBox::m_r |
The maximum distance from C to m_M.