politopix  4.1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CellByCellVoronoiDistNgb Class Reference

Do the same as CellByCellVoronoiDist with the neighbourhood computation. More...

#include <Voronoi_Rn.h>

Inheritance diagram for CellByCellVoronoiDistNgb:
Inheritance graph
Collaboration diagram for CellByCellVoronoiDistNgb:
Collaboration graph

Public Member Functions

 CellByCellVoronoiDistNgb (const boost::shared_ptr< Polytope_Rn > &is, const std::vector< Point_Rn > &lop)
 Constructor. More...
 
virtual ~CellByCellVoronoiDistNgb ()
 Destructor. More...
 
virtual bool compute () throw (std::length_error)
 Run the whole algorithm. More...
 
virtual bool compute (std::vector< Point_Rn >::const_iterator iteBeg, std::vector< Point_Rn >::const_iterator iteEnd) throw (std::length_error)
 Run the algorithm on a sub list from iteBeg to iteEnd. More...
 
const std::vector< std::vector
< std::pair< boost::shared_ptr
< HalfSpace_Rn >, unsigned int > > > & 
getFacetNeighbours () const
 
virtual void allocateFacetNeighbours ()
 
void dumpFacetNeighbours (std::ostream &this_ostream) const
 
virtual void updateFacetNeighbours (const std::vector< std::pair< double, unsigned int > > &allDistances, boost::shared_ptr< Polytope_Rn > newVoronoiCell, unsigned int counter, unsigned int newTruncationStep)
 
- Public Member Functions inherited from CellByCellVoronoiDist
 CellByCellVoronoiDist (const boost::shared_ptr< Polytope_Rn > &is, const std::vector< Point_Rn > &lop)
 Constructor. More...
 
 CellByCellVoronoiDist (const boost::shared_ptr< Polytope_Rn > &is, const std::vector< Point_Rn > &lop, double percent)
 
virtual ~CellByCellVoronoiDist ()
 Destructor. More...
 
void processDistances (std::vector< std::pair< double, unsigned int > > &allDistances, std::vector< Point_Rn >::const_iterator newVoronoiSeed, boost::shared_ptr< Polytope_Rn > newVoronoiCell)
 The distance criterion is going to be used to classify partially or globally the way in which we process the cells' half-spaces. More...
 
void setAverageNumberOfNeighbours (double pc)
 When we want to do a partial sort so try to assess the average number of facet neighbours for each cell. More...
 
- Public Member Functions inherited from CellByCellVoronoi
 CellByCellVoronoi (const boost::shared_ptr< Polytope_Rn > &is, const std::vector< Point_Rn > &lop)
 Constructor. More...
 
virtual ~CellByCellVoronoi ()
 Destructor. More...
 
- Public Member Functions inherited from Voronoi_Rn
 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...
 
boost::shared_ptr< HalfSpace_RncomputeMidPlane (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

std::vector< std::vector
< std::pair< boost::shared_ptr
< HalfSpace_Rn >, unsigned int > > > 
_facetNeighbours
 For the current cell, store its neighbour numbers. _facetNeighbours[i] = { (H0, i0), (H1, i1), ... }. More...
 
- Protected Attributes inherited from CellByCellVoronoiDist
double _percentageOfSortedHalfSpaces
 The amount of half-spaces we want to sort. More...
 
std::vector< boost::shared_ptr
< HalfSpace_Rn > > 
_allHalfSpaces
 For each seed, the list of the half-spaces used to build its cell. More...
 
- Protected Attributes inherited from Voronoi_Rn
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...
 

Additional Inherited Members

- Public Types inherited from Voronoi_Rn
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...
 

Detailed Description

Do the same as CellByCellVoronoiDist with the neighbourhood computation.

Definition at line 230 of file Voronoi_Rn.h.

Constructor & Destructor Documentation

CellByCellVoronoiDistNgb::CellByCellVoronoiDistNgb ( const boost::shared_ptr< Polytope_Rn > &  is,
const std::vector< Point_Rn > &  lop 
)
inline

Constructor.

Constructor

Parameters
isThe input space in which the Voronoi diagram is computed
lopThe list of Voronoi seeds

Definition at line 239 of file Voronoi_Rn.h.

virtual CellByCellVoronoiDistNgb::~CellByCellVoronoiDistNgb ( )
inlinevirtual

Destructor.

Definition at line 242 of file Voronoi_Rn.h.

Member Function Documentation

virtual void CellByCellVoronoiDistNgb::allocateFacetNeighbours ( )
inlinevirtual

Definition at line 255 of file Voronoi_Rn.h.

bool CellByCellVoronoiDistNgb::compute ( )
throw (std::length_error
)
virtual

Run the whole algorithm.

Reimplemented from CellByCellVoronoiDist.

Definition at line 498 of file Voronoi_Rn.cpp.

bool CellByCellVoronoiDistNgb::compute ( std::vector< Point_Rn >::const_iterator  iteBeg,
std::vector< Point_Rn >::const_iterator  iteEnd 
)
throw (std::length_error
)
virtual

Run the algorithm on a sub list from iteBeg to iteEnd.

Definition at line 504 of file Voronoi_Rn.cpp.

void CellByCellVoronoiDistNgb::dumpFacetNeighbours ( std::ostream &  this_ostream) const

Definition at line 573 of file Voronoi_Rn.cpp.

const std::vector< std::vector< std::pair<boost::shared_ptr<HalfSpace_Rn>, unsigned int> > >& CellByCellVoronoiDistNgb::getFacetNeighbours ( ) const
inline

Definition at line 253 of file Voronoi_Rn.h.

Here is the caller graph for this function:

void CellByCellVoronoiDistNgb::updateFacetNeighbours ( const std::vector< std::pair< double, unsigned int > > &  allDistances,
boost::shared_ptr< Polytope_Rn newVoronoiCell,
unsigned int  counter,
unsigned int  newTruncationStep 
)
virtual

Definition at line 588 of file Voronoi_Rn.cpp.

Member Data Documentation

std::vector< std::vector< std::pair<boost::shared_ptr<HalfSpace_Rn>, unsigned int> > > CellByCellVoronoiDistNgb::_facetNeighbours
protected

For the current cell, store its neighbour numbers. _facetNeighbours[i] = { (H0, i0), (H1, i1), ... }.

Definition at line 265 of file Voronoi_Rn.h.


The documentation for this class was generated from the following files: