DBallBound< TMetric, TPoint > Class Template Reference

Ball bound that works in arbitrary metric spaces. More...

List of all members.

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)

Detailed Description

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
class DBallBound< TMetric, TPoint >

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.


Member Function Documentation

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
double DBallBound< TMetric, TPoint >::MidDistance ( const DBallBound< TMetric, TPoint > &  other  )  const [inline]
template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().

template<typename TMetric = LMetric<2>, typename TPoint = Vector>
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().


The documentation for this class was generated from the following files:
Generated on Mon Jan 24 12:04:40 2011 for FASTlib by  doxygen 1.6.3