The class Weighted_Minkowski_distance<Traits> provides an implementation of the concept OrthogonalDistance, with a weighted Minkowski metric on d-dimensional points defined by lp(w)(r,q)= (Σi=1i=d wi(ri-qi)p)1/p for 0 < p <∞ and defined by l∞(w)(r,q)=max {wi |ri-qi| | 1 ≤ i ≤ d}. For the purpose of the distance computations it is more efficient to compute the transformed distance σi=1i=d wi(ri-qi)p instead of the actual distance.
#include <CGAL/Weighted_Minkowski_distance.h>
Expects for the template argument a model of the concept SearchTraits, for example CGAL::Search_traits_2<Kernel>.
Traits::FT | FT; | Number type. |
Traits::Point_d | Point_d; | Point type. |
Weighted_Minkowski_distance<Traits> wd ( int d, Traits t=Traits()); | |
Constructor implementing l2 metric for d-dimensional points.
| |
template <class InputIterator> | |
Weighted_Minkowski_distance<Traits> wd ( FT power, int dim, InputIterator wb, InputIterator we, Traits t=Traits()); | |
Constructor implementing the lpower(weights) metric. power ≤ 0 denotes the l∞(weights) metric.
The values in the iterator range [wb,we) are the weight.
|
FT | wd.transformed_distance ( Point_d q, Point_d r) const | |
Returns dpower, where d denotes the distance between q and r. | ||
FT | wd.min_distance_to_rectangle ( Point_d q, Kd_tree_rectangle<FT> r;) const | |
Returns dpower, where d denotes the distance between the query item q and the point on the boundary of r closest to q. | ||
FT | wd.max_distance_to_rectangle ( Point_d q, Kd_tree_rectangle<FT> r;) const | |
Returns dpower, where d denotes the distance between the query item q and the point on the boundary of r farthest to q. | ||
FT | wd.new_distance ( FT dist, FT old_off, FT new_off, int cutting_dimension) const | |
Updates dist incrementally and returns the updated distance. | ||
FT | wd.transformed_distance ( FT d) const | |
Returns dp for 0 < p <∞ . Returns d for p=∞ . | ||
FT | wd.inverse_of_transformed_distance ( FT d) const | |
Returns d1/p for 0 < p <∞. Returns d for p=∞. |
OrthogonalDistance
CGAL::Euclidean_distance<Traits>