DistanceFunctor< T, U > Node1 DistanceFunctor< T, U > + operator()() + distance() + ~DistanceFunctor() - calculateDistance() Node2 ClusterDistanceFunctor < T, U > + ClusterDistanceFunctor() + ~ClusterDistanceFunctor() - calculateDistance() Node1->Node2 Node3 DeltaRDistanceFunctor < T, U > + ~DeltaRDistanceFunctor() + deltaR() - calculateDistance() Node1->Node3