|
CGAL 6.0 - dD Spatial Searching
|
#include <CGAL/Weighted_Minkowski_distance.h>
The class Weighted_Minkowski_distance provides an implementation of the concept OrthogonalDistance, with a weighted Minkowski metric on \( d\)-dimensional points defined by \( l_p(w)(r,q)= ({\Sigma_{i=1}^{i=d} \, w_i(r_i-q_i)^p})^{1/p}\) for \( 0 < p <\infty\) and defined by \( l_{\infty}(w)(r,q)=max \{w_i |r_i-q_i| \mid 1 \leq i \leq d\}\).
For the purpose of the distance computations it is more efficient to compute the transformed distance \( {\sigma_{i=1}^{i=d} \, w_i(r_i-q_i)^p}\) instead of the actual distance.
| Traits | must be a model of the concept SearchTraits, for example Search_traits_2. |
OrthogonalDistance OrthogonalDistance CGAL::Euclidean_distance<Traits> Types | |
| typedef Traits::Dimension | D |
| Dimension tag. | |
| typedef Traits::FT | FT |
| Number type. | |
| typedef Traits::Point_d | Point_d |
| Point type. | |
Creation | |
| Weighted_Minkowski_distance (int d, Traits t=Traits()) | |
| Constructor implementing \( l_2\) metric for \( d\)-dimensional points. | |
| template<class InputIterator > | |
| Weighted_Minkowski_distance (FT power, int dim, InputIterator wb, InputIterator we, Traits t=Traits()) | |
| Constructor implementing the \( l_{power}(weights)\) metric. | |
Operations | |
| FT | transformed_distance (Point_d q, Point_d r) const |
Returns \( d^{power}\), where \( d\) denotes the distance between q and r. | |
| FT | min_distance_to_rectangle (Point_d q, Kd_tree_rectangle< FT, D > r) const |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r closest to q. | |
| FT | min_distance_to_rectangle (Point_d q, Kd_tree_rectangle< FT, D > r, vector< FT > &dists) |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r closest to q. | |
| FT | max_distance_to_rectangle (Point_d q, Kd_tree_rectangle< FT, D > r) const |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r farthest to q. | |
| FT | max_distance_to_rectangle (Point_d q, Kd_tree_rectangle< FT, D > r, vector< FT > &dists) |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r farthest to q. | |
| FT | new_distance (FT dist, FT old_off, FT new_off, int cutting_dimension) const |
Updates dist incrementally and returns the updated distance. | |
| FT | transformed_distance (FT d) const |
| Returns \( d^p\) for \( 0 < p <\infty\) . | |
| FT | inverse_of_transformed_distance (FT d) const |
| Returns \( d^{1/p}\) for \( 0 < p <\infty\). | |
| CGAL::Weighted_Minkowski_distance< Traits >::Weighted_Minkowski_distance | ( | FT | power, |
| int | dim, | ||
| InputIterator | wb, | ||
| InputIterator | we, | ||
| Traits | t = Traits() |
||
| ) |
Constructor implementing the \( l_{power}(weights)\) metric.
power=0 denotes the \( l_{\infty}(weights)\) metric. The values in the iterator range [wb,we) are the weight.
| FT CGAL::Weighted_Minkowski_distance< Traits >::inverse_of_transformed_distance | ( | FT | d | ) | const |
Returns \( d^{1/p}\) for \( 0 < p <\infty\).
Returns \( d\) for \( p=\infty\).
| FT CGAL::Weighted_Minkowski_distance< Traits >::max_distance_to_rectangle | ( | Point_d | q, |
| Kd_tree_rectangle< FT, D > | r, | ||
| vector< FT > & | dists | ||
| ) |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r farthest to q.
Stores the distances in each dimension in dists.
| FT CGAL::Weighted_Minkowski_distance< Traits >::min_distance_to_rectangle | ( | Point_d | q, |
| Kd_tree_rectangle< FT, D > | r, | ||
| vector< FT > & | dists | ||
| ) |
Returns \( d^{power}\), where \( d\) denotes the distance between the query item q and the point on the boundary of r closest to q.
Stores the distances in each dimension in dists.
| FT CGAL::Weighted_Minkowski_distance< Traits >::transformed_distance | ( | FT | d | ) | const |
Returns \( d^p\) for \( 0 < p <\infty\) .
Returns \( d\) for \( p=\infty\) .