LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::geo::CoordinateDistanceSort Struct Reference

sort a Collection in order of distance to a specific coordinate More...

#include <geocoordinate.h>

Collaboration diagram for lc::geo::CoordinateDistanceSort:

Public Member Functions

 CoordinateDistanceSort (const Coordinate &distanceFrom)
 
bool operator() (const Coordinate &left, const Coordinate &right) const
 

Public Attributes

const Coordinate _distanceFrom
 

Detailed Description

sort a Collection in order of distance to a specific coordinate

Note
This routine is not very fast in the sense that it would re-calculate the distance for each comparison. It should still be fast enough to sort a collection of let's say 10.000 points
std::vector<geo::Coordinate> myList;
myList.push_back(geo::Coordinate(50.,50.));
myList.push_back(geo::Coordinate(20.,20.));
myList.push_back(geo::Coordinate(120.,120.));
std::qsort(sp.begin(), sp.end(), geo::CoordinateDistanceSort(geo::Coordinate(60.60.)));

Definition at line 374 of file geocoordinate.h.

Constructor & Destructor Documentation

lc::geo::CoordinateDistanceSort::CoordinateDistanceSort ( const Coordinate distanceFrom)
inline

Definition at line 375 of file geocoordinate.h.

375  : _distanceFrom(distanceFrom) {
376  }

Member Function Documentation

bool lc::geo::CoordinateDistanceSort::operator() ( const Coordinate left,
const Coordinate right 
) const
inline

Definition at line 378 of file geocoordinate.h.

378  {
379  return left.distanceTo(_distanceFrom) < right.distanceTo(_distanceFrom);
380  }

Member Data Documentation

const Coordinate lc::geo::CoordinateDistanceSort::_distanceFrom

Definition at line 382 of file geocoordinate.h.


The documentation for this struct was generated from the following file: