Ball bound that works in arbitrary metric spaces. More...
Public Types | |
typedef TMetric | Metric |
typedef TMetric | Metric |
typedef TPoint | Point |
typedef TPoint | Point |
Public Member Functions | |
void | CalculateMidpoint (Point *centroid) const |
Gets the center. | |
void | CalculateMidpoint (Point *centroid) const |
Gets the center. | |
TPoint & | center () |
const TPoint & | center () const |
TPoint & | center () |
const TPoint & | center () const |
bool | Contains (const Point &point) const |
Determines if a point is within this bound. | |
bool | Contains (const Point &point) const |
Determines if a point is within this bound. | |
double | MaxDistance (const DBallBound &other) const |
Computes maximum distance. | |
double | MaxDistance (const Point &point) const |
Computes maximum distance. | |
double | MaxDistance (const DBallBound &other) const |
Computes maximum distance. | |
double | MaxDistance (const Point &point) const |
Computes maximum distance. | |
double | MaxDistanceSq (const DBallBound &other) const |
double | MaxDistanceSq (const Point &point) const |
double | MaxDistanceSq (const DBallBound &other) const |
double | MaxDistanceSq (const Point &point) const |
double | MidDistance (const Point &point) const |
double | MidDistance (const DBallBound &other) const |
Calculates midpoint-to-midpoint bounding box distance. | |
double | MidDistance (const Point &point) const |
double | MidDistance (const DBallBound &other) const |
Calculates midpoint-to-midpoint bounding box distance. | |
double | MidDistanceSq (const DBallBound &other) const |
double | MidDistanceSq (const DBallBound &other) const |
double | MinDistance (const DBallBound &other) const |
Calculates minimum bound-to-bound squared distance. | |
double | MinDistance (const Point &point) const |
Calculates minimum bound-to-point squared distance. | |
double | MinDistance (const DBallBound &other) const |
Calculates minimum bound-to-bound squared distance. | |
double | MinDistance (const Point &point) const |
Calculates minimum bound-to-point squared distance. | |
double | MinDistanceSq (const DBallBound &other) const |
double | MinDistanceSq (const Point &point) const |
double | MinDistanceSq (const DBallBound &other) const |
double | MinDistanceSq (const Point &point) const |
double | MinimaxDistance (const DBallBound &other) const |
Computes minimax distance, where the other node is trying to avoid me. | |
double | MinimaxDistance (const DBallBound &other) const |
Computes minimax distance, where the other node is trying to avoid me. | |
double | MinimaxDistanceSq (const DBallBound &other) const |
double | MinimaxDistanceSq (const DBallBound &other) const |
double | MinToMid (const DBallBound &other) const |
Calculates closest-to-their-midpoint bounding box distance, i.e. | |
double | MinToMid (const DBallBound &other) const |
Calculates closest-to-their-midpoint bounding box distance, i.e. | |
double | MinToMidSq (const DBallBound &other) const |
double | MinToMidSq (const DBallBound &other) const |
double | radius () const |
double | radius () const |
DRange | RangeDistance (const DBallBound &other) const |
Calculates minimum and maximum bound-to-bound squared distance. | |
DRange | RangeDistance (const DBallBound &other) const |
Calculates minimum and maximum bound-to-bound squared distance. | |
DRange | RangeDistanceSq (const DBallBound &other) const |
DRange | RangeDistanceSq (const DBallBound &other) const |
void | set_radius (double d) |
void | set_radius (double d) |
Ball bound that works in arbitrary metric spaces.
See LMetric for an example metric template parameter.
To initialize this, set the radius with set_radius
and set the point by initializing point()
directly.
Definition at line 757 of file bounds.h.
void DBallBound< TMetric, TPoint >::CalculateMidpoint | ( | Point * | centroid | ) | const [inline] |
Gets the center.
Don't really use this directly. This is only here for consistency with DHrectBound, so it can plug in more directly if a "centroid" is needed.
Definition at line 802 of file bounds.h.
References ot::InitCopy().
void DBallBound< TMetric, TPoint >::CalculateMidpoint | ( | Point * | centroid | ) | const [inline] |
Gets the center.
Don't really use this directly. This is only here for consistency with DHrectBound, so it can plug in more directly if a "centroid" is needed.
Definition at line 802 of file bounds.h.
References ot::InitCopy().
bool DBallBound< TMetric, TPoint >::Contains | ( | const Point & | point | ) | const [inline] |
Determines if a point is within this bound.
Definition at line 791 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
bool DBallBound< TMetric, TPoint >::Contains | ( | const Point & | point | ) | const [inline] |
Determines if a point is within this bound.
Definition at line 791 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MaxDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Computes maximum distance.
Definition at line 843 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MaxDistance | ( | const Point & | point | ) | const [inline] |
Computes maximum distance.
Definition at line 832 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MaxDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Computes maximum distance.
Definition at line 843 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MaxDistance | ( | const Point & | point | ) | const [inline] |
Computes maximum distance.
Definition at line 832 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MidDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates midpoint-to-midpoint bounding box distance.
Definition at line 907 of file bounds.h.
References DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MidDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates midpoint-to-midpoint bounding box distance.
Definition at line 907 of file bounds.h.
Referenced by DBallBound< TMetric, TPoint >::Contains(), DBallBound< TMetric, TPoint >::MaxDistance(), DBallBound< TMetric, TPoint >::MidDistance(), DBallBound< TMetric, TPoint >::MinDistance(), DBallBound< TMetric, TPoint >::MinimaxDistance(), DBallBound< TMetric, TPoint >::MinToMid(), and DBallBound< TMetric, TPoint >::RangeDistance().
double DBallBound< TMetric, TPoint >::MinDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates minimum bound-to-bound squared distance.
Definition at line 820 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinDistance | ( | const Point & | point | ) | const [inline] |
Calculates minimum bound-to-point squared distance.
Definition at line 809 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates minimum bound-to-bound squared distance.
Definition at line 820 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinDistance | ( | const Point & | point | ) | const [inline] |
Calculates minimum bound-to-point squared distance.
Definition at line 809 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinimaxDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Computes minimax distance, where the other node is trying to avoid me.
Definition at line 895 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinimaxDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Computes minimax distance, where the other node is trying to avoid me.
Definition at line 895 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinToMid | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates closest-to-their-midpoint bounding box distance, i.e.
calculates their midpoint and finds the minimum box-to-point distance.
Equivalent to: other.CalcMidpoint(&other_midpoint) return MinDistanceSqToPoint(other_midpoint)
Definition at line 883 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
double DBallBound< TMetric, TPoint >::MinToMid | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates closest-to-their-midpoint bounding box distance, i.e.
calculates their midpoint and finds the minimum box-to-point distance.
Equivalent to: other.CalcMidpoint(&other_midpoint) return MinDistanceSqToPoint(other_midpoint)
Definition at line 883 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
DRange DBallBound< TMetric, TPoint >::RangeDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates minimum and maximum bound-to-bound squared distance.
Example: bound1.MinDistanceSq(other) for minimum squared distance.
Definition at line 856 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().
DRange DBallBound< TMetric, TPoint >::RangeDistance | ( | const DBallBound< TMetric, TPoint > & | other | ) | const [inline] |
Calculates minimum and maximum bound-to-bound squared distance.
Example: bound1.MinDistanceSq(other) for minimum squared distance.
Definition at line 856 of file bounds.h.
References math::ClampNonNegative(), and DBallBound< TMetric, TPoint >::MidDistance().