1 #ifndef POINTSETDISTANCE_H
2 #define POINTSETDISTANCE_H
4 #include "../base/dissimilaritymeasure.h"
23 bool operator() (T
const *
const & obj1, T
const *
const & obj2);
32 if(pointSet.size() == 0)
35 double obj1min = measure.dissimilarity(*obj1, **pointSet.begin());
36 double obj2min = measure.dissimilarity(*obj2, **pointSet.begin());
37 for(
typename std::set<T*>::iterator it = pointSet.begin()++; it != pointSet.end(); it++)
39 double candidate1 = measure.dissimilarity(*obj1, **it);
40 if(candidate1 < obj1min)
42 double candidate2 = measure.dissimilarity(*obj2, **it);
43 if(candidate2 < obj2min)
47 return obj1min < obj2min;
Calculates the (minimum) distance between a point and a set of points.
bool operator()(T const *const &obj1, T const *const &obj2)
PointSetDistance(DissimilarityMeasure< T > const &measure, std::set< T * > const &pointSet)
Abstract base class for dissimilarity measurement.
std::set< T * > const & pointSet
DissimilarityMeasure< T > const & measure