Ball bound encloses a set of points at a specific distance (radius) from a specific point (center).
typedef TMetricType MetricType
Need this for Binary Space Partion Tree. typedef VecType Vec
BallBound ()
Empty Constructor. BallBound (const size_t dimension)
Create the ball bound with the specified dimensionality. BallBound (const double radius, const VecType ¢er)
Create the ball bound with the specified radius and center. BallBound (const BallBound &other)
Copy constructor. To prevent memory leaks. ~BallBound ()
Destructor to release allocated memory. const VecType & Center () const
Get the center point of the ball. VecType & Center ()
Modify the center point of the ball. void Centroid (VecType ¢roid) const
Place the centroid of BallBound into the given vector. bool Contains (const VecType &point) const
Determines if a point is within this bound. double Diameter () const
Returns the diameter of the ballbound. double Dim () const
Get the dimensionality of the ball. template<typename OtherVecType > double MaxDistance (const OtherVecType &point, typename boost::enable_if< IsVector< OtherVecType > > *=0) const
Computes maximum distance. double MaxDistance (const BallBound &other) const
Computes maximum distance. TMetricType Metric () const
Returns the distance metric used in this bound. template<typename OtherVecType > double MinDistance (const OtherVecType &point, typename boost::enable_if< IsVector< OtherVecType > > *=0) const
Calculates minimum bound-to-point squared distance. double MinDistance (const BallBound &other) const
Calculates minimum bound-to-bound squared distance. double MinWidth () const
Get the minimum width of the bound (this is same as the diameter). BallBound & operator= (const BallBound &other)
For the same reason as the Copy Constructor. To prevent memory leaks. math::Range operator[] (const size_t i) const
Get the range in a certain dimension. const BallBound & operator|= (const BallBound &other)
Expand the bound to include the given node. template<typename MatType > const BallBound & operator|= (const MatType &data)
Expand the bound to include the given point. double Radius () const
Get the radius of the ball. double & Radius ()
Modify the radius of the ball. template<typename OtherVecType > math::Range RangeDistance (const OtherVecType &other, typename boost::enable_if< IsVector< OtherVecType > > *=0) const
Calculates minimum and maximum bound-to-point distance. math::Range RangeDistance (const BallBound &other) const
Calculates minimum and maximum bound-to-bound distance. std::string ToString () const
Returns a string representation of this object.
VecType center
The center of the ball bound. TMetricType * metric
The metric used in this bound. bool ownsMetric
To know whether this object allocated memory to the metric member variable. double radius
The radius of the ball bound.
Ball bound encloses a set of points at a specific distance (radius) from a specific point (center).
TMetricType is the custom metric type that defaults to the Euclidean (L2) distance.
Template Parameters:
VecType Type of vector (arma::vec or arma::sp_vec).
TMetricType metric type used in the distance measure.
Definition at line 42 of file ballbound.hpp.
Need this for Binary Space Partion Tree.
Definition at line 47 of file ballbound.hpp.
Definition at line 45 of file ballbound.hpp.
Empty Constructor.
Create the ball bound with the specified dimensionality.
Parameters:
dimension Dimensionality of ball bound.
Create the ball bound with the specified radius and center.
Parameters:
radius Radius of ball bound.
center Center of ball bound.
Copy constructor. To prevent memory leaks.
Destructor to release allocated memory.
Get the center point of the ball.
Definition at line 103 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::center.
Modify the center point of the ball.
Definition at line 105 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::center.
Place the centroid of BallBound into the given vector.
Parameters:
centroid Vector which the centroid will be written to.
Definition at line 129 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::center.
Determines if a point is within this bound.
Returns the diameter of the ballbound.
Definition at line 191 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::radius.
Get the dimensionality of the ball.
Definition at line 108 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::center.
Computes maximum distance.
Computes maximum distance.
Returns the distance metric used in this bound.
Definition at line 196 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::metric.
Calculates minimum bound-to-point squared distance.
Calculates minimum bound-to-bound squared distance.
Get the minimum width of the bound (this is same as the diameter). For ball bounds, width along all dimensions remain same.
Definition at line 114 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::radius.
For the same reason as the Copy Constructor. To prevent memory leaks.
Get the range in a certain dimension.
Expand the bound to include the given node.
Expand the bound to include the given point. The centroid is recalculated to be the center of all of the given points.
Template Parameters:
MatType Type of matrix; could be arma::mat, arma::spmat, or a vector.
data Data points to add.
Get the radius of the ball.
Definition at line 98 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::radius.
Modify the radius of the ball.
Definition at line 100 of file ballbound.hpp.
References mlpack::bound::BallBound< VecType, TMetricType >::radius.
Calculates minimum and maximum bound-to-point distance.
Calculates minimum and maximum bound-to-bound distance. Example: bound1.MinDistanceSq(other) for minimum distance.
Returns a string representation of this object.
The center of the ball bound.
Definition at line 55 of file ballbound.hpp.
Referenced by mlpack::bound::BallBound< VecType, TMetricType >::Center(), mlpack::bound::BallBound< VecType, TMetricType >::Centroid(), and mlpack::bound::BallBound< VecType, TMetricType >::Dim().
The metric used in this bound.
Definition at line 58 of file ballbound.hpp.
Referenced by mlpack::bound::BallBound< VecType, TMetricType >::Metric().
To know whether this object allocated memory to the metric member variable. This will be true except in the copy constructor and the overloaded assignment operator. We need this to know whether we should delete the metric member variable in the destructor.
Definition at line 66 of file ballbound.hpp.
The radius of the ball bound.
Definition at line 52 of file ballbound.hpp.
Referenced by mlpack::bound::BallBound< VecType, TMetricType >::Diameter(), mlpack::bound::BallBound< VecType, TMetricType >::MinWidth(), and mlpack::bound::BallBound< VecType, TMetricType >::Radius().
Generated automatically by Doxygen for MLPACK from the source code.