18#ifndef itkSimplexMesh_h
19#define itkSimplexMesh_h
43template <
typename TPixelType,
44 unsigned int VDimension = 3,
45 typename TMeshTraits =
46 DefaultStaticMeshTraits<TPixelType, VDimension, VDimension, TPixelType, TPixelType, TPixelType>>
47class ITK_TEMPLATE_EXPORT
SimplexMesh :
public Mesh<TPixelType, VDimension, TMeshTraits>
89 using typename Superclass::CellType;
121 using typename Superclass::PointsContainerPointer;
123 using typename Superclass::PointsContainerConstIterator;
124 using typename Superclass::CellsContainerPointer;
125 using typename Superclass::CellsContainerConstPointer;
126 using typename Superclass::CellsContainerIterator;
127 using typename Superclass::CellsContainerConstIterator;
128 using typename Superclass::CellIdentifier;
312#ifndef ITK_MANUAL_INSTANTIATION
313# include "itkSimplexMesh.hxx"
SelfAutoPointer CellAutoPointer
A templated class holding a n-Dimensional covariant vector.
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Represents a line segment for a Mesh.
The const iterator type for the map.
The non-const iterator type for the map.
A wrapper of the STL "map" container.
Implements the N-dimensional mesh structure.
typename MeshTraits::CellIdentifier CellIdentifier
Base class for most ITK classes.
handle geometric properties for vertices of a simplex mesh
itk::FixedArray< IdentifierType, 3 > IndexArray
The class represents a 2-simplex mesh.
void ReplaceNeighbor(PointIdentifier pointIdx, PointIdentifier oldIdx, PointIdentifier newIdx)
typename MeshTraits::PixelType PixelType
void SetGeometryData(PointIdentifier pointId, SimplexMeshGeometry *)
typename TMeshTraits::PointIdentifier PointIdentifier
CellIdentifier ReplaceFace(CellIdentifier replaceIndex, CellAutoPointer &cellPointer)
IndexArray GetNeighbors(PointIdentifier idx) const
void SetDistance(PointIdentifier idx, double value)
PointType GetReferenceMetrics(PointIdentifier idx) const
void SetBarycentricCoordinates(PointIdentifier idx, PointType value)
double GetRadius(PointIdentifier idx) const
void SetMeanCurvature(PointIdentifier idx, double value)
PointType GetBarycentricCoordinates(PointIdentifier idx) const
typename NeighborSetType::iterator NeighborSetIterator
typename PointType::VectorType VectorType
void SetReferenceMetrics(PointIdentifier idx, PointType value)
double GetPhi(PointIdentifier idx) const
CellIdentifier AddFace(CellAutoPointer &cellPointer)
void SwapNeighbors(PointIdentifier pointIdx, PointIdentifier firstIdx, PointIdentifier secondIdx)
typename CellType::CellAutoPointer CellAutoPointer
CellIdentifier AddEdge(PointIdentifier startPointId, PointIdentifier endPointId)
typename GeometryMapType::ConstIterator GeometryMapConstIterator
void PrintSelf(std::ostream &os, Indent indent) const override
typename Superclass::PointsContainer::Iterator PointsContainerIterator
typename GeometryMapType::Iterator GeometryMapIterator
typename TMeshTraits::PointType PointType
void AddNeighbor(PointIdentifier pointIdx, PointIdentifier neighborIdx)
std::vector< SizeValueType > NeighborListType
void SetPhi(PointIdentifier idx, double value)
typename GeometryMapType::Pointer GeometryMapPointer
CovariantVectorType ComputeNormal(PointIdentifier idx) const
double GetDistance(PointIdentifier idx) const
double GetMeanCurvature(PointIdentifier idx) const
typename SimplexMeshGeometry::IndexArray IndexArray
typename MeshTraits::PointsContainer PointsContainer
NeighborListType * GetNeighbors(PointIdentifier idx, unsigned int radius, NeighborListType *list=nullptr) const
std::set< SizeValueType > NeighborSetType
void SetRadius(PointIdentifier idx, double value)
void CopyInformation(const DataObject *data) override
MeshClassCellsAllocationMethod
SmartPointer< Self > Pointer
ImageBaseType::PointType PointType
ImageBaseType::SpacingType VectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....