CGAL 5.4  dD Spatial Searching

Requirements of an orthogonal distance class supporting incremental distance updates. To optimize distance computations transformed distances are used. E.g., for an Euclidean distance the transformed distance is the squared Euclidean distance.
Types  
typedef unspecified_type  D 
Dimension Tag.  
typedef unspecified_type  FT 
Number type.  
typedef unspecified_type  Point_d 
Point type.  
typedef unspecified_type  Query_item 
Query item type.  
Creation  
OrthogonalDistance ()  
Constructor implementing distance for d dimensional points.  
Operations  
FT  transformed_distance (Query_item q, Point_d r) const 
Returns the transformed distance between q and r .  
FT  min_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r) const 
Returns the transformed distance between q and the point on the boundary of r closest to q .  
FT  min_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r, std::vector< FT > &dists) 
Returns the transformed distance between q and the point on the boundary of r closest to q . More...  
FT  max_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r) const 
Returns the transformed distance between q and the point on the boundary of r farthest to q .  
FT  max_distance_to_rectangle (Query_item q, Kd_tree_rectangle< FT, D > r, std::vector< FT > &dists) 
Returns the transformed distance between q and the point on the boundary of r farthest to q . More...  
FT  transformed_distance (FT d) const 
Returns the transformed distance.  
FT  inverse_of_transformed_distance (FT d) const 
Returns the inverse of the transformed distance.  
FT  new_distance (FT dist, FT old_off, FT new_off, int cutting_dimension) const 
Updates dist incrementally and returns the updated distance.  
FT OrthogonalDistance::max_distance_to_rectangle  (  Query_item  q, 
Kd_tree_rectangle< FT, D >  r,  
std::vector< FT > &  dists  
) 
Returns the transformed distance between q
and the point on the boundary of r
farthest to q
.
The vector dists
has the size of the dimension of the data points and is filled with the distance in each dimension.
FT OrthogonalDistance::min_distance_to_rectangle  (  Query_item  q, 
Kd_tree_rectangle< FT, D >  r,  
std::vector< FT > &  dists  
) 
Returns the transformed distance between q
and the point on the boundary of r
closest to q
.
The vector dists
has the size of the dimension of the data points and is filled with the distance in each dimension.