ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkVoronoiDiagram2DGenerator.h>
Implement the Sweep Line Algorithm for the construction of the 2D Voronoi Diagram.
Detailed informations of this method can be found in: "A sweepline algorithm for Voronoi diagrams." S. Fortune, Algorithmica 2, 153-174, 1987.
Input parameters are: (1) Size of the region. (2) Seed points coordinates. These coordinates can also be randomly set.
Template parameters for VoronoiDiagram2DGenerator:
TCoordType: the type associated with the coordination of the seeds and the resulting vertices.
Definition at line 51 of file itkVoronoiDiagram2DGenerator.h.
typedef SmartPointer< const Self > itk::VoronoiDiagram2DGenerator< TCoordType >::ConstPointer |
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
Definition at line 58 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::CoordRepType itk::VoronoiDiagram2DGenerator< TCoordType >::CoordRepType |
Definition at line 74 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::EdgeInfo itk::VoronoiDiagram2DGenerator< TCoordType >::EdgeInfo |
Definition at line 72 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::EdgeInfoDQ itk::VoronoiDiagram2DGenerator< TCoordType >::EdgeInfoDQ |
Definition at line 73 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::Pointer itk::VoronoiDiagram2DGenerator< TCoordType >::OutputType |
Definition at line 69 of file itkVoronoiDiagram2DGenerator.h.
typedef SmartPointer< Self > itk::VoronoiDiagram2DGenerator< TCoordType >::Pointer |
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
Definition at line 57 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::PointType itk::VoronoiDiagram2DGenerator< TCoordType >::PointType |
Definition at line 70 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::SeedsIterator itk::VoronoiDiagram2DGenerator< TCoordType >::SeedsIterator |
Definition at line 68 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::SeedsType itk::VoronoiDiagram2DGenerator< TCoordType >::SeedsType |
Definition at line 71 of file itkVoronoiDiagram2DGenerator.h.
typedef VoronoiDiagram2DGenerator itk::VoronoiDiagram2DGenerator< TCoordType >::Self |
Standard class typedefs.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
Definition at line 55 of file itkVoronoiDiagram2DGenerator.h.
typedef MeshSource< VoronoiDiagram2D< TCoordType > > itk::VoronoiDiagram2DGenerator< TCoordType >::Superclass |
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
Definition at line 56 of file itkVoronoiDiagram2DGenerator.h.
typedef VoronoiDiagram2D< TCoordType > itk::VoronoiDiagram2DGenerator< TCoordType >::VDMesh |
Convenient typedefs.
Definition at line 64 of file itkVoronoiDiagram2DGenerator.h.
typedef VDMesh::VoronoiEdge itk::VoronoiDiagram2DGenerator< TCoordType >::VoronoiEdge |
Definition at line 75 of file itkVoronoiDiagram2DGenerator.h.
itk::VoronoiDiagram2DGenerator< TCoordType >::VoronoiDiagram2DGenerator | ( | ) | [protected] |
itk::VoronoiDiagram2DGenerator< TCoordType >::~VoronoiDiagram2DGenerator | ( | ) | [protected] |
itk::VoronoiDiagram2DGenerator< TCoordType >::VoronoiDiagram2DGenerator | ( | const Self & | ) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::AddOneSeed | ( | PointType | ) |
void itk::VoronoiDiagram2DGenerator< TCoordType >::AddSeeds | ( | int | num, |
SeedsIterator | begin | ||
) |
Add more seeds at one time.
bool itk::VoronoiDiagram2DGenerator< TCoordType >::almostsame | ( | CoordRepType | p1, |
CoordRepType | p2 | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::bisect | ( | FortuneEdge * | , |
FortuneSite * | s1, | ||
FortuneSite * | s2 | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::clip_line | ( | FortuneEdge * | task | ) | [private] |
static bool itk::VoronoiDiagram2DGenerator< TCoordType >::comp | ( | PointType | arg1, |
PointType | arg2 | ||
) | [static, private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::ConstructDiagram | ( | void | ) | [private] |
virtual::itk::LightObject::Pointer itk::VoronoiDiagram2DGenerator< TCoordType >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
void itk::VoronoiDiagram2DGenerator< TCoordType >::createHalfEdge | ( | FortuneHalfEdge * | task, |
FortuneEdge * | e, | ||
bool | pm | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::deleteEdgeList | ( | FortuneHalfEdge * | task | ) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::deletePQ | ( | FortuneHalfEdge * | task | ) | [private] |
bool itk::VoronoiDiagram2DGenerator< TCoordType >::differentPoint | ( | PointType | p1, |
PointType | p2 | ||
) | [private] |
double itk::VoronoiDiagram2DGenerator< TCoordType >::dist | ( | FortuneSite * | s1, |
FortuneSite * | s2 | ||
) | [private] |
FortuneHalfEdge* itk::VoronoiDiagram2DGenerator< TCoordType >::ELgethash | ( | int | b | ) | [private] |
FortuneHalfEdge* itk::VoronoiDiagram2DGenerator< TCoordType >::findLeftHE | ( | PointType * | p | ) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::GenerateData | ( | void | ) | [protected, virtual] |
Generate Voronoi Diagram based on the current list of seeds.
Reimplemented from itk::ProcessObject.
virtual void itk::VoronoiDiagram2DGenerator< TCoordType >::GenerateOutputInformation | ( | void | ) | [inline, virtual] |
Produce the output information.
Reimplemented from itk::ProcessObject.
Definition at line 93 of file itkVoronoiDiagram2DGenerator.h.
void itk::VoronoiDiagram2DGenerator< TCoordType >::GenerateVDFortune | ( | void | ) | [private] |
FortuneSite* itk::VoronoiDiagram2DGenerator< TCoordType >::getLeftReg | ( | FortuneHalfEdge * | he | ) | [private] |
virtual const char* itk::VoronoiDiagram2DGenerator< TCoordType >::GetNameOfClass | ( | ) | const [virtual] |
Standard part of every itk Object.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
virtual unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::GetNumberOfSeeds | ( | ) | const [virtual] |
Get the number of seed points.
FortuneHalfEdge* itk::VoronoiDiagram2DGenerator< TCoordType >::getPQmin | ( | void | ) | [private] |
FortuneSite* itk::VoronoiDiagram2DGenerator< TCoordType >::getRightReg | ( | FortuneHalfEdge * | he | ) | [private] |
PointType itk::VoronoiDiagram2DGenerator< TCoordType >::GetSeed | ( | int | SeedID | ) |
Return the given indexed seed.
void itk::VoronoiDiagram2DGenerator< TCoordType >::insertEdgeList | ( | FortuneHalfEdge * | lbase, |
FortuneHalfEdge * | lnew | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::insertPQ | ( | FortuneHalfEdge * | he, |
FortuneSite * | v, | ||
double | offset | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::intersect | ( | FortuneSite * | task, |
FortuneHalfEdge * | el1, | ||
FortuneHalfEdge * | el2 | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::makeEndPoint | ( | FortuneEdge * | task, |
bool | lr, | ||
FortuneSite * | ends | ||
) | [private] |
static Pointer itk::VoronoiDiagram2DGenerator< TCoordType >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
void itk::VoronoiDiagram2DGenerator< TCoordType >::operator= | ( | const Self & | ) | [private] |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
unsigned char itk::VoronoiDiagram2DGenerator< TCoordType >::Pointonbnd | ( | int | VertID | ) | [private] |
int itk::VoronoiDiagram2DGenerator< TCoordType >::PQbucket | ( | FortuneHalfEdge * | task | ) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::PQshowMin | ( | PointType * | task | ) | [private] |
virtual void itk::VoronoiDiagram2DGenerator< TCoordType >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::MeshSource< VoronoiDiagram2D< TCoordType > >.
bool itk::VoronoiDiagram2DGenerator< TCoordType >::right_of | ( | FortuneHalfEdge * | el, |
PointType * | p | ||
) | [private] |
void itk::VoronoiDiagram2DGenerator< TCoordType >::SetBoundary | ( | PointType | vorsize | ) |
The boundary that enclose the whole voronoi diagram.
void itk::VoronoiDiagram2DGenerator< TCoordType >::SetOrigin | ( | PointType | vorsize | ) |
void itk::VoronoiDiagram2DGenerator< TCoordType >::SetRandomSeeds | ( | int | num | ) |
Set the seeds points randomly.
void itk::VoronoiDiagram2DGenerator< TCoordType >::SetSeeds | ( | int | num, |
SeedsIterator | begin | ||
) |
Input the seeds information, will overwrite if seeds already exists.
void itk::VoronoiDiagram2DGenerator< TCoordType >::SortSeeds | ( | void | ) |
Sort the seeds by ____.
void itk::VoronoiDiagram2DGenerator< TCoordType >::UpdateDiagram | ( | void | ) |
Update the Voronoi Diagram after adding seed(s).
friend class FortuneEdge [friend] |
Definition at line 140 of file itkVoronoiDiagram2DGenerator.h.
friend class FortuneHalfEdge [friend] |
Definition at line 141 of file itkVoronoiDiagram2DGenerator.h.
friend class FortuneSite [friend] |
All private nested classes must be friend classes to work with SunOS-CC compiler. If not, the private nested classes will not be able to access each other.
Definition at line 135 of file itkVoronoiDiagram2DGenerator.h.
FortuneSite* itk::VoronoiDiagram2DGenerator< TCoordType >::m_BottomSite [private] |
Definition at line 197 of file itkVoronoiDiagram2DGenerator.h.
FortuneEdge itk::VoronoiDiagram2DGenerator< TCoordType >::m_DELETED [private] |
Definition at line 205 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Deltax [private] |
Definition at line 188 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Deltay [private] |
Definition at line 189 of file itkVoronoiDiagram2DGenerator.h.
std::vector< FortuneHalfEdge * > itk::VoronoiDiagram2DGenerator< TCoordType >::m_ELHash [private] |
Definition at line 203 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_ELhashsize [private] |
Definition at line 200 of file itkVoronoiDiagram2DGenerator.h.
FortuneHalfEdge itk::VoronoiDiagram2DGenerator< TCoordType >::m_ELleftend [private] |
Definition at line 201 of file itkVoronoiDiagram2DGenerator.h.
FortuneHalfEdge itk::VoronoiDiagram2DGenerator< TCoordType >::m_ELrightend [private] |
Definition at line 202 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_Nedges [private] |
Definition at line 195 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_NumberOfSeeds [private] |
Definition at line 121 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_Nvert [private] |
Definition at line 196 of file itkVoronoiDiagram2DGenerator.h.
OutputType itk::VoronoiDiagram2DGenerator< TCoordType >::m_OutputVD [private] |
Definition at line 123 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_PQcount [private] |
Definition at line 192 of file itkVoronoiDiagram2DGenerator.h.
std::vector< FortuneHalfEdge > itk::VoronoiDiagram2DGenerator< TCoordType >::m_PQHash [private] |
Definition at line 198 of file itkVoronoiDiagram2DGenerator.h.
unsigned int itk::VoronoiDiagram2DGenerator< TCoordType >::m_PQhashsize [private] |
Definition at line 194 of file itkVoronoiDiagram2DGenerator.h.
int itk::VoronoiDiagram2DGenerator< TCoordType >::m_PQmin [private] |
Definition at line 193 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Pxmax [private] |
Definition at line 185 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Pxmin [private] |
Definition at line 184 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Pymax [private] |
Definition at line 187 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_Pymin [private] |
Definition at line 186 of file itkVoronoiDiagram2DGenerator.h.
SeedsType itk::VoronoiDiagram2DGenerator< TCoordType >::m_Seeds [private] |
Definition at line 124 of file itkVoronoiDiagram2DGenerator.h.
std::vector< FortuneSite > itk::VoronoiDiagram2DGenerator< TCoordType >::m_SeedSites [private] |
Definition at line 206 of file itkVoronoiDiagram2DGenerator.h.
double itk::VoronoiDiagram2DGenerator< TCoordType >::m_SqrtNSites [private] |
Definition at line 190 of file itkVoronoiDiagram2DGenerator.h.
PointType itk::VoronoiDiagram2DGenerator< TCoordType >::m_VorBoundary [private] |
Definition at line 122 of file itkVoronoiDiagram2DGenerator.h.