#include <itkSimplexMesh.h>
The class represents a 2-simplex mesh.
A simplex mesh can be used for deformable model segmentation of 3D image data. To create a simplex mesh one needs a triangle mesh, which can be converted to using the class itkTriangleMeshToSimplexMeshFilter. The back filtering (from simplex to triangle mesh)is done through a itkSimplexMeshToTriangleMeshFilter.
Definition at line 47 of file itkSimplexMesh.h.
Inheritance diagram for itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >:
Collaboration diagram for itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >:Public Types | |
| using | CellAutoPointer = typename CellType::CellAutoPointer |
| using | ConstPointer = SmartPointer<const Self> |
| using | CovariantVectorType = CovariantVector<typename VectorType::ValueType, 3> |
| using | GeometryMapConstIterator = typename GeometryMapType::ConstIterator |
| using | GeometryMapIterator = typename GeometryMapType::Iterator |
| using | GeometryMapPointer = typename GeometryMapType::Pointer |
| using | GeometryMapType = itk::MapContainer<SizeValueType, SimplexMeshGeometry *> |
| using | IndexArray = typename SimplexMeshGeometry::IndexArray |
| using | LineType = itk::LineCell<CellType> |
| using | MeshClassCellsAllocationMethodEnum = itk::MeshEnums::MeshClassCellsAllocationMethod |
| using | MeshTraits = TMeshTraits |
| using | NeighborListType = std::vector<SizeValueType> |
| using | NeighborSetIterator = typename NeighborSetType::iterator |
| using | NeighborSetType = std::set<SizeValueType> |
| using | PixelType = typename MeshTraits::PixelType |
| using | Pointer = SmartPointer<Self> |
| using | PointIdentifier = typename TMeshTraits::PointIdentifier |
| using | PointsContainer = typename MeshTraits::PointsContainer |
| using | PointsContainerIterator = typename Superclass::PointsContainer::Iterator |
| using | PointType = typename TMeshTraits::PointType |
| using | Self = SimplexMesh |
| using | Superclass = Mesh<TPixelType, VDimension, TMeshTraits> |
| using | VectorType = typename PointType::VectorType |
Public Types inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
| using | BoundaryAssignmentsContainer = MapContainer<BoundaryAssignmentIdentifier, CellIdentifier> |
| using | BoundaryAssignmentsContainerPointer = typename BoundaryAssignmentsContainer::Pointer |
| using | BoundaryAssignmentsContainerVector = std::vector<BoundaryAssignmentsContainerPointer> |
| using | BoundingBoxPointer = typename BoundingBoxType::Pointer |
| using | BoundingBoxType = BoundingBox<PointIdentifier, Self::PointDimension, CoordinateType, PointsContainer> |
| using | CellAutoPointer = typename CellType::CellAutoPointer |
| using | CellDataContainer = typename MeshTraits::CellDataContainer |
| using | CellDataContainerConstPointer = typename CellDataContainer::ConstPointer |
| using | CellDataContainerIterator = typename CellDataContainer::ConstIterator |
| using | CellDataContainerPointer = typename CellDataContainer::Pointer |
| using | CellFeatureCount = CellFeatureIdentifier |
| using | CellFeatureIdentifier = typename MeshTraits::CellFeatureIdentifier |
| using | CellIdentifier = typename MeshTraits::CellIdentifier |
| using | CellLinksContainer = typename MeshTraits::CellLinksContainer |
| using | CellLinksContainerConstPointer = typename CellLinksContainer::ConstPointer |
| using | CellLinksContainerIterator = typename CellLinksContainer::ConstIterator |
| using | CellLinksContainerPointer = typename CellLinksContainer::Pointer |
| using | CellMultiVisitorType = typename CellType::MultiVisitor |
| using | CellPixelType = typename MeshTraits::CellPixelType |
| using | CellsContainer = typename MeshTraits::CellsContainer |
| using | CellsContainerConstIterator = typename CellsContainer::ConstIterator |
| using | CellsContainerConstPointer = typename CellsContainer::ConstPointer |
| using | CellsContainerIterator = typename CellsContainer::Iterator |
| using | CellsContainerPointer = typename CellsContainer::Pointer |
| using | CellsVectorContainer = typename itk::VectorContainer<IdentifierType> |
| using | CellsVectorContainerPointer = typename CellsVectorContainer::Pointer |
| using | CellTraits = typename MeshTraits::CellTraits |
| using | CellType = CellInterface<CellPixelType, CellTraits> |
| using | ConstPointer = SmartPointer<const Self> |
| using | CoordinateType = typename MeshTraits::CoordinateType |
| using | InterpolationWeightType = typename MeshTraits::InterpolationWeightType |
| using | MeshClassCellsAllocationMethodEnum = MeshEnums::MeshClassCellsAllocationMethod |
| using | MeshTraits = TMeshTraits |
| using | OutputHexahedronCellType = itk::HexahedronCell<CellType> |
| using | OutputLineCellType = itk::LineCell<CellType> |
| using | OutputPolygonCellType = itk::PolygonCell<CellType> |
| using | OutputPolyLineCellType = itk::PolyLineCell<CellType> |
| using | OutputQuadraticEdgeCellType = itk::QuadraticEdgeCell<CellType> |
| using | OutputQuadraticTriangleCellType = itk::QuadraticTriangleCell<CellType> |
| using | OutputQuadrilateralCellType = itk::QuadrilateralCell<CellType> |
| using | OutputTetrahedronCellType = itk::TetrahedronCell<CellType> |
| using | OutputTriangleCellType = itk::TriangleCell<CellType> |
| using | OutputVertexCellType = itk::VertexCell<CellType> |
| using | PixelType = typename MeshTraits::PixelType |
| using | PointCellLinksContainer = typename MeshTraits::PointCellLinksContainer |
| using | PointCellLinksContainerIterator = typename PointCellLinksContainer::const_iterator |
| using | PointDataContainer = typename MeshTraits::PointDataContainer |
| using | PointDataContainerIterator = typename PointDataContainer::ConstIterator |
| using | PointDataContainerPointer = typename PointDataContainer::Pointer |
| using | Pointer = SmartPointer<Self> |
| using | PointHashType = typename MeshTraits::PointHashType |
| using | PointIdentifier = typename MeshTraits::PointIdentifier |
| using | PointsContainer = typename MeshTraits::PointsContainer |
| using | PointsContainerConstIterator = typename PointsContainer::ConstIterator |
| using | PointsContainerIterator = typename PointsContainer::Iterator |
| using | PointsContainerPointer = typename PointsContainer::Pointer |
| using | PointType = typename MeshTraits::PointType |
| using | Self = Mesh |
| using | Superclass = PointSet<TPixelType, VDimension, TMeshTraits> |
Public Types inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
| using | ConstPointer = SmartPointer<const Self> |
| using | MeshTraits = TMeshTraits |
| using | PixelType = typename MeshTraits::PixelType |
| using | PointDataContainer = typename MeshTraits::PointDataContainer |
| using | PointDataContainerConstPointer = typename PointDataContainer::ConstPointer |
| using | PointDataContainerIterator = typename PointDataContainer::ConstIterator |
| using | PointDataContainerPointer = typename PointDataContainer::Pointer |
| using | Pointer = SmartPointer<Self> |
| using | PointIdentifier = typename MeshTraits::PointIdentifier |
| using | PointType = typename MeshTraits::PointType |
| using | Self = PointSet |
| using | Superclass = PointSetBase<typename TMeshTraits::PointsContainer> |
Public Types inherited from itk::PointSetBase< TPointsContainer > | |
| using | ConstPointer = SmartPointer<const Self> |
| using | CoordinateType = typename PointType::CoordinateType |
| using | Pointer = SmartPointer<Self> |
| using | PointIdentifier = typename TPointsContainer::ElementIdentifier |
| using | PointsContainer = TPointsContainer |
| using | PointsContainerConstIterator = typename PointsContainer::ConstIterator |
| using | PointsContainerConstPointer = typename PointsContainer::ConstPointer |
| using | PointsContainerIterator = typename PointsContainer::Iterator |
| using | PointsContainerPointer = typename PointsContainer::Pointer |
| using | PointsVectorContainer = typename itk::VectorContainer<PointIdentifier, CoordinateType> |
| using | PointsVectorContainerPointer = typename PointsVectorContainer::Pointer |
| using | PointType = typename TPointsContainer::Element |
| using | RegionType = long |
| using | Self = PointSetBase |
| using | Superclass = DataObject |
Public Types inherited from itk::DataObject | |
| using | ConstPointer = SmartPointer<const Self> |
| using | DataObjectIdentifierType = std::string |
| using | DataObjectPointerArraySizeType = std::vector<Pointer>::size_type |
| using | Pointer = SmartPointer<Self> |
| using | Self = DataObject |
| using | Superclass = Object |
Public Types inherited from itk::Object | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = Object |
| using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
| using | ConstPointer = SmartPointer<const Self> |
| using | Pointer = SmartPointer<Self> |
| using | Self = LightObject |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::PointSetBase< TPointsContainer > | |
| static constexpr unsigned int | GetPointDimension () |
Static Public Member Functions inherited from itk::DataObject | |
| static bool | GetGlobalReleaseDataFlag () |
| static void | GlobalReleaseDataFlagOff () |
| static void | GlobalReleaseDataFlagOn () |
| static Pointer | New () |
| static void | SetGlobalReleaseDataFlag (bool val) |
Static Public Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| static Pointer | New () |
Protected Member Functions | |
| SimplexMesh () | |
| ~SimplexMesh () override | |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
Protected Member Functions inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
| void | ReleaseCellsMemory () |
| Mesh () | |
| ~Mesh () override | |
Protected Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
| LightObject::Pointer | InternalClone () const override |
| PointSet ()=default | |
| ~PointSet () override=default | |
Protected Member Functions inherited from itk::PointSetBase< TPointsContainer > | |
| LightObject::Pointer | InternalClone () const override |
| PointSetBase ()=default | |
| ~PointSetBase () override=0 | |
Protected Member Functions inherited from itk::DataObject | |
| DataObject () | |
| virtual void | PropagateResetPipeline () |
| ~DataObject () override | |
Protected Member Functions inherited from itk::Object | |
| Object () | |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
| ~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
| LightObject () | |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| virtual | ~LightObject () |
Additional Inherited Members | |
Static Public Attributes inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
| static constexpr unsigned int | MaxTopologicalDimension = TMeshTraits::MaxTopologicalDimension |
| static constexpr unsigned int | PointDimension = TMeshTraits::PointDimension |
Static Public Attributes inherited from itk::PointSetBase< TPointsContainer > | |
| static constexpr unsigned int | PointDimension = PointType::PointDimension |
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellAutoPointer = typename CellType::CellAutoPointer |
Definition at line 92 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ConstPointer = SmartPointer<const Self> |
Standard type alias.
Definition at line 62 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CovariantVectorType = CovariantVector<typename VectorType::ValueType, 3> |
Definition at line 86 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapConstIterator = typename GeometryMapType::ConstIterator |
Definition at line 106 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapIterator = typename GeometryMapType::Iterator |
iterator definition for iterating over a geometry map
Definition at line 105 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapPointer = typename GeometryMapType::Pointer |
smartpointer def for the geometry map
Definition at line 102 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapType = itk::MapContainer<SizeValueType, SimplexMeshGeometry *> |
map containing a SimplexMeshGeometry data object for each mesh point
Definition at line 99 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::IndexArray = typename SimplexMeshGeometry::IndexArray |
definition for array of indices.
Definition at line 65 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::LineType = itk::LineCell<CellType> |
Definition at line 95 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::MeshClassCellsAllocationMethodEnum = itk::MeshEnums::MeshClassCellsAllocationMethod |
Definition at line 109 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::MeshTraits = TMeshTraits |
Hold on to the type information specified by the template parameters.
Definition at line 118 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborListType = std::vector<SizeValueType> |
Definition at line 74 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborSetIterator = typename NeighborSetType::iterator |
Definition at line 71 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborSetType = std::set<SizeValueType> |
definition for a set of neighbor indices
Definition at line 68 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PixelType = typename MeshTraits::PixelType |
Definition at line 119 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Pointer = SmartPointer<Self> |
Standard type alias.
Definition at line 59 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointIdentifier = typename TMeshTraits::PointIdentifier |
Definition at line 80 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainer = typename MeshTraits::PointsContainer |
Definition at line 120 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainerIterator = typename Superclass::PointsContainer::Iterator |
Definition at line 122 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointType = typename TMeshTraits::PointType |
Definition at line 77 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Self = SimplexMesh |
Standard type alias.
Definition at line 53 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Superclass = Mesh<TPixelType, VDimension, TMeshTraits> |
Standard type alias.
Definition at line 56 of file itkSimplexMesh.h.
| using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::VectorType = typename PointType::VectorType |
Definition at line 83 of file itkSimplexMesh.h.
|
protected |
Constructor for use by New() method.
Referenced by GetNameOfClass().
|
overrideprotected |
Constructor for use by New() method.
| CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddEdge | ( | PointIdentifier | startPointId, |
| PointIdentifier | endPointId ) |
Add a new edge to the simplex mesh by specifying the ids of the start and end point of the edge Note: This can destroy the simplex mesh structure! Better use the simplex mesh modification or creation filters
| CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddFace | ( | CellAutoPointer & | cellPointer | ) |
Add a new simplex mesh cell to the mesh by passing an AutoPointer of a previously created simplex mesh cell
Note: This can destroy the simplex mesh structure! You should use the simplex mesh modification or creation filters.
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddNeighbor | ( | PointIdentifier | pointIdx, |
| PointIdentifier | neighborIdx ) |
Add a neighbor to a point. Note: This can destroy the simplex mesh topology! Better use the simplex mesh creation filters.
| CovariantVectorType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ComputeNormal | ( | PointIdentifier | idx | ) | const |
compute the normal vector in the specified mesh point
|
overridevirtual |
copy all necessary information from passed object to the mesh
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
|
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::Mesh< TPixelType, VDimension, TMeshTraits >.
| PointType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetBarycentricCoordinates | ( | PointIdentifier | idx | ) | const |
Set the barycentric coordinates for a specified point
| double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetDistance | ( | PointIdentifier | idx | ) | const |
Get the distance to the foot point for the specified point
|
virtual |
returns the current map of geometrydata
|
virtual |
Set the id value valid for new cells
| double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetMeanCurvature | ( | PointIdentifier | idx | ) | const |
Get the mean curvature for the specified point
|
virtual |
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
References SimplexMesh().
| IndexArray itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetNeighbors | ( | PointIdentifier | idx | ) | const |
Get the three direct neighbors of a point
| NeighborListType * itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetNeighbors | ( | PointIdentifier | idx, |
| unsigned int | radius, | ||
| NeighborListType * | list = nullptr ) const |
Get all neighbor points with a specified radius
| double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetPhi | ( | PointIdentifier | idx | ) | const |
Get the simplex angle for the specified point
| double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetRadius | ( | PointIdentifier | idx | ) | const |
Get the circum circles radius for the specified point
| PointType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetReferenceMetrics | ( | PointIdentifier | idx | ) | const |
Return the reference metrics for the specified point
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Constructor for use by New() method.
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
| CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ReplaceFace | ( | CellIdentifier | replaceIndex, |
| CellAutoPointer & | cellPointer ) |
Replaces the cell specified by replaceIndex with the new cell passed by its AutoPointer
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ReplaceNeighbor | ( | PointIdentifier | pointIdx, |
| PointIdentifier | oldIdx, | ||
| PointIdentifier | newIdx ) |
Replace a neighbor of a specific point by a new one
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetBarycentricCoordinates | ( | PointIdentifier | idx, |
| PointType | value ) |
Set the geometry data for a specified point
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetDistance | ( | PointIdentifier | idx, |
| double | value ) |
Set the distance to the foot point for the specified point
|
virtual |
set the map of geometrydata to the new pointer
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetGeometryData | ( | PointIdentifier | pointId, |
| SimplexMeshGeometry * | ) |
Set the geometry data for a specified point
|
virtual |
Get the first free id for new cells
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetMeanCurvature | ( | PointIdentifier | idx, |
| double | value ) |
Set the mean curvature for the specified point
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetPhi | ( | PointIdentifier | idx, |
| double | value ) |
Set the simplex angle for the specified point
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetRadius | ( | PointIdentifier | idx, |
| double | value ) |
Set the circum circles radius for the specified point
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetReferenceMetrics | ( | PointIdentifier | idx, |
| PointType | value ) |
Set the reference metrics for a specified point
| void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SwapNeighbors | ( | PointIdentifier | pointIdx, |
| PointIdentifier | firstIdx, | ||
| PointIdentifier | secondIdx ) |
Swap the order of two neighbors
|
protected |
The map stores a SimplexMeshGeometry object for each mesh point
Definition at line 300 of file itkSimplexMesh.h.
|
protected |
The last cell id is the index which is used for insertion of new cells. It increases during mesh creation. This is done because one cannot rely on the size of the map or the highest index when cells are removed.
Definition at line 308 of file itkSimplexMesh.h.