politopix
4.1.0
|
Compute a n-dimensional Voronoi diagram. It is a partitioning of a space into regions based on distance to points. Both the space and the list of points are provided as input. More...
#include <Voronoi_Rn.h>
Public Types | |
enum | TypeOfAlgorithm { Incremental = 0, CellByCell = 1, CellByCellDist = 2, CellByCellDistNgb = 3, CellByCellDistNgb_1pc = 4, CellByCellDistNgb_10pc = 5, CellByCellDistNgb_20pc = 6, CellByCellDistNgb_30pc = 7, CellByCellDistNgb_40pc = 8, WithProperties = 10 } |
Choose the kind of algorithm to be run. More... | |
Public Member Functions | |
Voronoi_Rn (const boost::shared_ptr< Polytope_Rn > &inputSpace, const std::vector< Point_Rn > &listOfPoints) | |
Refers to the class WithProperties. More... | |
virtual | ~Voronoi_Rn () |
Destructor. More... | |
virtual bool | compute ()=0 throw (std::length_error) |
Run the whole algorithm. More... | |
boost::shared_ptr< HalfSpace_Rn > | computeMidPlane (std::vector< Point_Rn >::const_iterator seed1, std::vector< Point_Rn >::const_iterator seed2) |
Compute the half-space containing seed1, in between seed1 and seed2, according to the growing seed property. More... | |
const std::vector < boost::shared_ptr < Polytope_Rn > > & | getVoronoiCells () const |
std::vector< boost::shared_ptr < Polytope_Rn > > | getVoronoiCells () |
const std::vector< Point_Rn > & | getListOfSeeds () const |
bool | checkTopologyAndGeometry () const throw (std::domain_error) |
void | dump (std::ostream &out) const |
Dump the cell structure on the given output. More... | |
void | gnuplot (std::ostream &out) const throw (std::domain_error) |
Protected Attributes | |
const boost::shared_ptr < Polytope_Rn > & | _inputSpace |
The original space to be divided. More... | |
const std::vector< Point_Rn > & | _listOfSeeds |
The list of input points. More... | |
std::vector< boost::shared_ptr < Polytope_Rn > > | _listOfVoronoiCells |
The list of polytopes partitioning the whole space. More... | |
Compute a n-dimensional Voronoi diagram. It is a partitioning of a space into regions based on distance to points. Both the space and the list of points are provided as input.
Definition at line 39 of file Voronoi_Rn.h.
Choose the kind of algorithm to be run.
Enumerator | |
---|---|
Incremental | |
CellByCell |
Refers to the class IncrementalVoronoi. |
CellByCellDist |
Refers to the class CellByCellVoronoi. |
CellByCellDistNgb |
Refers to the class CellByCellVoronoiDist. |
CellByCellDistNgb_1pc |
Refers to the class CellByCellDistNgb (100% of the distances between seeds to be sorted) |
CellByCellDistNgb_10pc |
Refers to the class CellByCellDistNgb ( 1% of the distances between seeds to be sorted) |
CellByCellDistNgb_20pc |
Refers to the class CellByCellDistNgb ( 10% of the distances between seeds to be sorted) |
CellByCellDistNgb_30pc |
Refers to the class CellByCellDistNgb ( 20% of the distances between seeds to be sorted) |
CellByCellDistNgb_40pc |
Refers to the class CellByCellDistNgb ( 30% of the distances between seeds to be sorted) |
WithProperties |
Refers to the class CellByCellDistNgb ( 40% of the distances between seeds to be sorted) |
Definition at line 44 of file Voronoi_Rn.h.
Voronoi_Rn::Voronoi_Rn | ( | const boost::shared_ptr< Polytope_Rn > & | inputSpace, |
const std::vector< Point_Rn > & | listOfPoints | ||
) |
Refers to the class WithProperties.
Constructor Constructor
is | The input space in which the Voronoi diagram is computed |
lop | The list of Voronoi seeds |
Definition at line 35 of file Voronoi_Rn.cpp.
|
inlinevirtual |
Destructor.
Definition at line 65 of file Voronoi_Rn.h.
bool Voronoi_Rn::checkTopologyAndGeometry | ( | ) | const | |
throw | ( | std::domain_error | ||
) |
Definition at line 57 of file Voronoi_Rn.cpp.
|
pure virtual |
Run the whole algorithm.
Implemented in CellByCellVoronoiDistNgb, CellByCellVoronoiDist, CellByCellVoronoi, and IncrementalVoronoi.
boost::shared_ptr< HalfSpace_Rn > Voronoi_Rn::computeMidPlane | ( | std::vector< Point_Rn >::const_iterator | seed1, |
std::vector< Point_Rn >::const_iterator | seed2 | ||
) |
Compute the half-space containing seed1, in between seed1 and seed2, according to the growing seed property.
Definition at line 40 of file Voronoi_Rn.cpp.
void Voronoi_Rn::dump | ( | std::ostream & | out | ) | const |
Dump the cell structure on the given output.
Definition at line 62 of file Voronoi_Rn.cpp.
|
inline |
|
inline |
|
inline |
Definition at line 79 of file Voronoi_Rn.h.
void Voronoi_Rn::gnuplot | ( | std::ostream & | out | ) | const |
throw | ( | std::domain_error | |||
) |
|
protected |
The original space to be divided.
Definition at line 93 of file Voronoi_Rn.h.
|
protected |
The list of input points.
Definition at line 95 of file Voronoi_Rn.h.
|
protected |
The list of polytopes partitioning the whole space.
Definition at line 97 of file Voronoi_Rn.h.