politopix  5.0.0
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...
 
 CellByCellVoronoiDistNgb (const boost::shared_ptr< Polytope_Rn > &is, const std::vector< Point_Rn > &lop, double percent)
 
virtual ~CellByCellVoronoiDistNgb ()
 Destructor. More...
 
virtual bool compute ()
 Run the whole algorithm. More...
 
virtual bool compute (std::vector< Point_Rn >::const_iterator iteBeg, std::vector< Point_Rn >::const_iterator iteEnd)
 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)
 
void dumpNgb (std::ostream &this_ostream) const
 
- 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
 
void dump (std::ostream &out) const
 Dump the cell structure on the given output. More...
 
void gnuplot (std::ostream &out) const
 

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 231 of file Voronoi_Rn.h.

Constructor & Destructor Documentation

◆ CellByCellVoronoiDistNgb() [1/2]

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 240 of file Voronoi_Rn.h.

◆ CellByCellVoronoiDistNgb() [2/2]

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

Constructor

Parameters
isThe input space in which the Voronoi diagram is computed
lopThe list of Voronoi seeds
percentThe percentage of seeds to be sorted according to distance criteria

Definition at line 246 of file Voronoi_Rn.h.

◆ ~CellByCellVoronoiDistNgb()

virtual CellByCellVoronoiDistNgb::~CellByCellVoronoiDistNgb ( )
inlinevirtual

Destructor.

Definition at line 249 of file Voronoi_Rn.h.

Member Function Documentation

◆ allocateFacetNeighbours()

virtual void CellByCellVoronoiDistNgb::allocateFacetNeighbours ( )
inlinevirtual

Reimplemented in VoronoiWithProperties.

Definition at line 260 of file Voronoi_Rn.h.

Here is the caller graph for this function:

◆ compute() [1/2]

bool CellByCellVoronoiDistNgb::compute ( )
virtual

Run the whole algorithm.

Reimplemented from CellByCellVoronoiDist.

Definition at line 498 of file Voronoi_Rn.cpp.

◆ compute() [2/2]

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

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

Definition at line 504 of file Voronoi_Rn.cpp.

Here is the call graph for this function:

◆ dumpFacetNeighbours()

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

Definition at line 573 of file Voronoi_Rn.cpp.

◆ dumpNgb()

void CellByCellVoronoiDistNgb::dumpNgb ( std::ostream &  this_ostream) const
inline

Definition at line 268 of file Voronoi_Rn.h.

◆ getFacetNeighbours()

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

Definition at line 258 of file Voronoi_Rn.h.

◆ updateFacetNeighbours()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _facetNeighbours

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 287 of file Voronoi_Rn.h.


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