18 #ifndef itkVoronoiDiagram2D_h
19 #define itkVoronoiDiagram2D_h
46 template<
typename TCoordType >
48 public Mesh< TCoordType, 2,
49 DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >
133 typedef typename PointCellLinksContainer::const_iterator
152 itkGetConstMacro(NumberOfSeeds,
unsigned int);
254 return static_cast< int >(
m_LineList.size() );
259 return static_cast< int >(
m_EdgeList.size() );
314 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
333 #ifndef ITK_MANUAL_INSTANTIATION
334 #include "itkVoronoiDiagram2D.hxx"
CellDataContainer::Pointer CellDataContainerPointer
Superclass::CellType CellType
MeshTraits::CellsContainer CellsContainer
PointDataContainer::Pointer PointDataContainerPointer
CellDataContainer::ConstIterator CellDataContainerIterator
SmartPointer< const Self > ConstPointer
PolygonCell< CellType > PolygonCellType
Represents a line segment for a Mesh.
IdentifierType PointIdentifier
std::vector< VoronoiEdge >::iterator VoronoiEdgeIterator
VoronoiEdgeIterator EdgeEnd()
NeighborIdIterator NeighborIdsBegin(int seeds)
A wrapper of the STL "map" container.
CellType::MultiVisitor CellMultiVisitorType
PointsContainerPointer m_PointsContainer
static const unsigned int PointDimension
SeedsType::iterator SeedsIterator
MeshTraits::PointCellLinksContainer PointCellLinksContainer
void VoronoiRegionAddPointId(int id, int x)
itkMakeCellTraitsMacro CellTraits
BoundingBoxType::Pointer BoundingBoxPointer
Implements the 2-Dimensional Voronoi Diagram.
PointDataContainer::ConstIterator PointDataContainerIterator
Implements the N-dimensional mesh structure.
IdentifierType CellIdentifier
MeshTraits::CoordRepType CoordRepType
MeshTraits::PointDataContainer PointDataContainer
IdentifierType CellFeatureIdentifier
EdgeInfo GetEdgeEnd(int id)
TInterpolationWeight InterpolationWeightType
NeighborIdIterator NeighborIdsEnd(int seeds)
Edge::SelfAutoPointer EdgeAutoPointer
void SetSeeds(int num, SeedsIterator begin)
CellsContainer::ConstIterator CellsContainerConstIterator
void AddEdge(VoronoiEdge x)
CellsContainer::Iterator CellsContainerIterator
void GetCellId(CellIdentifier cellId, CellAutoPointer &)
MeshTraits::PixelType PixelType
VoronoiEdgeIterator EdgeBegin()
virtual void PrintSelf(std::ostream &os, Indent indent) const override
PointsContainer::Pointer PointsContainerPointer
CellsContainer::Pointer CellsContainerPointer
The non-const iterator type for the map.
CellLinksContainer::ConstIterator CellLinksContainerIterator
std::vector< int > INTvector
void SetBoundary(PointType vorsize)
MeshTraits::PointIdentifier PointIdentifier
The const iterator type for the map.
void operator=(const Self &)
DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > MeshTraits
MeshTraits::CellAutoPointer genericCellPointer
std::vector< VoronoiEdge > m_EdgeList
PointsContainerIterator VertexIterator
CellType::CellAutoPointer CellAutoPointer
INTvector::iterator NeighborIdIterator
CellType::CellAutoPointer CellAutoPointer
PointType m_VoronoiBoundaryOrigin
std::list< PointType > PointList
std::vector< std::vector< int > > m_CellNeighborsID
MeshTraits::CellIdentifier CellIdentifier
void AddVert(PointType x)
VertexIterator VertexEnd()
Represents a polygon in a Mesh.
int GetEdgeLineID(int id)
static const unsigned int MaxTopologicalDimension
VertexIterator VertexBegin()
void AddCellNeighbor(EdgeInfo x)
void SetOrigin(PointType vorsize)
PointsContainer::Iterator PointsContainerIterator
static const unsigned int PointDimension
MeshTraits::InterpolationWeightType InterpolationWeightType
CellInterface< CellPixelType, CellTraits > CellType
Control indentation during Print() invocation.
BoundingBox< PointIdentifier, itkGetStaticConstMacro(PointDimension), CoordRepType, PointsContainer > BoundingBoxType
PointType GetSeed(int SeedID)
unsigned int m_NumberOfSeeds
CellFeatureIdentifier CellFeatureCount
std::vector< PointType > SeedsType
SmartPointer< Self > Pointer
MeshTraits::CellDataContainer CellDataContainer
A simple structure that holds type information for a mesh and its cells.
EdgeInfo GetSeedsIDAroundEdge(VoronoiEdge *task)
PointCellLinksContainer::const_iterator PointCellLinksContainerIterator
VoronoiEdge GetEdge(int id)
Superclass::CellAutoPointer CellAutoPointer
MeshTraits::CellLinksContainer CellLinksContainer
CellLinksContainer::Pointer CellLinksContainerPointer
PointsContainer::ConstIterator PointsContainerConstIterator
A templated class holding a geometric point in n-Dimensional space.
MeshTraits::CellFeatureIdentifier CellFeatureIdentifier
MeshTraits::CellTraits CellTraits
PointType m_VoronoiBoundary
MeshTraits::PointType PointType
MeshTraits::PointsContainer PointsContainer
std::vector< PolygonCellType * > m_VoronoiRegions
void GetPoint(int pId, PointType *answer)
Base class for all data objects in ITK.
Represent and compute information about bounding boxes.
LineCell< CellType > Edge
std::deque< EdgeInfo > EdgeInfoDQ
std::vector< EdgeInfo > m_LineList
Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > > Superclass
std::set< CellIdentifier > PointCellLinksContainer
PointType GetVertex(int id)
static const unsigned int MaxTopologicalDimension