|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkVoronoiDiagram2DGenerator_h
19 #define itkVoronoiDiagram2DGenerator_h
49 template <
typename TCoordType>
79 itkGetConstMacro(NumberOfSeeds,
unsigned int);
116 SetRandomSeeds(
int num);
126 PrintSelf(std::ostream & os,
Indent indent)
const override;
130 GenerateData()
override;
133 unsigned int m_NumberOfSeeds{ 0 };
177 float m_A{ 0.0 }, m_B{ 0.0 }, m_C{ 0.0 };
182 FortuneEdge() { m_Ep[0] = m_Ep[1] = m_Reg[0] = m_Reg[1] =
nullptr; }
193 bool m_RorL{
false };
195 double m_Ystar{ 0.0 };
207 : m_Left(edge.m_Left)
208 , m_Right(edge.m_Right)
209 , m_Edge(edge.m_Edge)
210 , m_RorL(edge.m_RorL)
211 , m_Vert(edge.m_Vert)
212 , m_Ystar(edge.m_Ystar)
213 , m_Next(edge.m_Next)
219 double m_Pxmin{ 0.0 };
220 double m_Pxmax{ 0.0 };
221 double m_Pymin{ 0.0 };
222 double m_Pymax{ 0.0 };
223 double m_Deltax{ 0.0 };
224 double m_Deltay{ 0.0 };
225 double m_SqrtNSites{ 0.0 };
227 unsigned int m_PQcount{ 0 };
229 unsigned int m_PQhashsize{ 0 };
230 unsigned int m_Nedges{ 0 };
231 unsigned int m_Nvert{ 0 };
235 unsigned int m_ELhashsize{ 0 };
253 Pointonbnd(
int VertID);
321 #ifndef ITK_MANUAL_INSTANTIATION
322 # include "itkVoronoiDiagram2DGenerator.hxx"
Implements the 2-Dimensional Voronoi Diagram.
FortuneHalfEdge m_ELleftend
typename VDMesh::EdgeInfoDQ EdgeInfoDQ
FortuneHalfEdge(const FortuneHalfEdge &edge)
typename MeshTraits::CoordRepType CoordRepType
ImageBaseType::PointType PointType
typename VDMesh::SeedsIterator SeedsIterator
Control indentation during Print() invocation.
FortuneHalfEdge m_ELrightend
std::vector< PointType > SeedsType
Light weight base class for most itk classes.
std::vector< FortuneSite > m_SeedSites
FortuneHalfEdge * m_Right
std::vector< FortuneHalfEdge * > m_ELHash
Base class for all process objects that output mesh data.
std::deque< EdgeInfo > EdgeInfoDQ
FortuneSite * m_BottomSite
Small data structures for Fortune's Method and some public variables/methods not for external access.
typename VDMesh::VoronoiEdge VoronoiEdge
Define additional traits for native types such as int or float.
typename VDMesh::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
void GenerateOutputInformation() override
typename VDMesh::SeedsType SeedsType
std::vector< FortuneHalfEdge > m_PQHash
typename VDMesh::EdgeInfo EdgeInfo
static constexpr double e
A templated class holding a geometric point in n-Dimensional space.
Implement the Sweep Line Algorithm for the construction of the 2D Voronoi Diagram.
typename VDMesh::CoordRepType CoordRepType
typename SeedsType::iterator SeedsIterator
typename VDMesh::Pointer OutputType