ITK  5.4.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
itk::Mesh< TPixelType, VDimension, TMeshTraits > Class Template Reference

#include <itkMesh.h>

Detailed Description

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
class itk::Mesh< TPixelType, VDimension, TMeshTraits >

Implements the N-dimensional mesh structure.

Overview
Mesh implements the N-dimensional mesh structure for ITK. It provides an API to perform operations on points, cells, boundaries, etc., but does not tie down the underlying implementation and storage. A "MeshTraits" structure is used to define the container and identifier types that will be used to access the mesh. See DefaultStaticMeshTraits for the set of type definitions needed. All types that are defined in the "MeshTraits" structure will have duplicate type alias in the resulting mesh itself.

Mesh is an adaptive, evolving structure. Typically points and cells are created, with the cells referring to their defining points. If additional topological information is required, then BuildCellLinks() is called and links from the points back to the cells that use them are created. This allows implicit topological information about the faces and edges of the cells to be determined. (For example, a "face" neighbor to a cell can be determined by intersection the sets of cells that use the points defining the face. This is an inherent assumption on the manifold relationship of the cells in the mesh.) In some cases, either because the mesh is non-manifold, because we wish to explicitly store information with the faces and edges of the mesh, or because performance requirements demand that boundaries are explicitly represented (the set intersection does not need to be performed); then Mesh can be further extended by adding explicit boundary assignments.

Usage
Mesh has three template parameters. The first is the pixel type, or the type of data stored (optionally) with points, cells, and/or boundaries. The second is the geometric dimension of the points defining the mesh. This also limits the maximum topological dimension of the cells that can be inserted. The third template parameter is the "MeshTraits" structure controlling type information for the mesh. Most users will be happy with the defaults, and will not have to worry about this third argument.

One of the most important parts of using this mesh is how to create cells to insert into it. The cells for the mesh take two template parameters. The first is the pixel type, and should correspond exactly to that type given to the mesh. The second is a "CellTraits" which holds a sub-set of the "MeshTraits" structure definitions, and is also a member of them. Any cell which is to be inserted to a mesh should have MeshTraits::CellTraits as its second template parameter.

Template parameters for Mesh:

TPixelType = The type stored as data for an entity (cell, point, or boundary).

TMeshTraits = Type information structure for the mesh.

References
No reference information is available.
ITK Sphinx Examples:
Examples
Examples/DataRepresentation/Mesh/AutomaticMesh.cxx, Examples/DataRepresentation/Mesh/Mesh1.cxx, Examples/DataRepresentation/Mesh/Mesh2.cxx, Examples/DataRepresentation/Mesh/Mesh3.cxx, Examples/DataRepresentation/Mesh/MeshCellsIteration.cxx, Examples/DataRepresentation/Mesh/MeshCellVisitor.cxx, Examples/DataRepresentation/Mesh/MeshCellVisitor2.cxx, Examples/DataRepresentation/Mesh/MeshKComplex.cxx, Examples/DataRepresentation/Mesh/MeshPolyLine.cxx, Examples/DataRepresentation/Mesh/MeshTraits.cxx, Examples/Filtering/SurfaceExtraction.cxx, Examples/SpatialObjects/MeshSpatialObject.cxx, SphinxExamples/src/Core/Common/ReadAPointSet/Code.cxx, SphinxExamples/src/Core/Mesh/AccessDataInCells/Code.cxx, SphinxExamples/src/Core/Mesh/AddPointsAndEdges/Code.cxx, SphinxExamples/src/Core/Mesh/CalculateAreaAndVolumeOfSimplexMesh/Code.cxx, SphinxExamples/src/Core/Mesh/ConvertMeshToUnstructeredGrid/Code.cxx, SphinxExamples/src/Core/Mesh/ConvertTriangleMeshToBinaryImage/Code.cxx, SphinxExamples/src/Core/Mesh/ExtractIsoSurface/Code.cxx, SphinxExamples/src/Core/Mesh/TranslateOneMesh/Code.cxx, SphinxExamples/src/Core/Mesh/WorkingWithPointAndCellData/Code.cxx, SphinxExamples/src/Core/Mesh/WriteMeshToVTP/Code.cxx, SphinxExamples/src/Core/Transform/DeformAVolumeWithAThinPlateSpline/Code.cxx, and SphinxExamples/src/IO/Mesh/ReadMesh/Code.cxx.

Definition at line 126 of file itkMesh.h.

+ Inheritance diagram for itk::Mesh< TPixelType, VDimension, TMeshTraits >:
+ Collaboration diagram for itk::Mesh< TPixelType, VDimension, TMeshTraits >:

Classes

class  BoundaryAssignmentIdentifier
 

Public Types

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, CoordRepType, 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, IdentifierType >
 
using CellsVectorContainerPointer = typename CellsVectorContainer::Pointer
 
using CellTraits = typename MeshTraits::CellTraits
 
using CellType = CellInterface< CellPixelType, CellTraits >
 
using ConstPointer = SmartPointer< const Self >
 
using CoordRepType = typename MeshTraits::CoordRepType
 
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 CoordRepType = typename MeshTraits::CoordRepType
 
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 PointsContainer = typename MeshTraits::PointsContainer
 
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, CoordRepType >
 
using PointsVectorContainerPointer = typename PointsVectorContainer::Pointer
 
using PointType = typename MeshTraits::PointType
 
using RegionType = long
 
using Self = PointSet
 
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
 

Public Member Functions

virtual void Accept (CellMultiVisitorType *mv) const
 
void BuildCellLinks () const
 
void CopyInformation (const DataObject *data) override
 
void DeleteUnusedCellData ()
 
bool GetAssignedCellBoundaryIfOneExists (int dimension, CellIdentifier, CellFeatureIdentifier, CellAutoPointer &) const
 
bool GetBoundaryAssignment (int dimension, CellIdentifier cellId, CellFeatureIdentifier featureId, CellIdentifier *boundaryId) const
 
BoundaryAssignmentsContainerPointer GetBoundaryAssignments (int dimension)
 
const BoundaryAssignmentsContainerPointer GetBoundaryAssignments (int dimension) const
 
const BoundingBoxTypeGetBoundingBox () const
 
bool GetCell (CellIdentifier, CellAutoPointer &) const
 
bool GetCellBoundaryFeature (int dimension, CellIdentifier, CellFeatureIdentifier, CellAutoPointer &) const
 
CellIdentifier GetCellBoundaryFeatureNeighbors (int dimension, CellIdentifier, CellFeatureIdentifier, std::set< CellIdentifier > *cellSet)
 
CellDataContainerGetCellData ()
 
const CellDataContainerGetCellData () const
 
bool GetCellData (CellIdentifier, CellPixelType *) const
 
CellLinksContainerGetCellLinks ()
 
const CellLinksContainerGetCellLinks () const
 
CellIdentifier GetCellNeighbors (CellIdentifier cellId, std::set< CellIdentifier > *cellSet)
 
CellsContainerGetCells ()
 
const CellsContainerGetCells () const
 
virtual CellsVectorContainerGetCellsArray ()
 
const char * GetNameOfClass () const override
 
CellFeatureCount GetNumberOfCellBoundaryFeatures (int dimension, CellIdentifier) const
 
CellIdentifier GetNumberOfCells () const
 
void Graft (const DataObject *data) override
 
void Initialize () override
 
void PassStructure (Self *inputMesh)
 
bool RemoveBoundaryAssignment (int dimension, CellIdentifier cellId, CellFeatureIdentifier featureId)
 
void SetBoundaryAssignment (int dimension, CellIdentifier cellId, CellFeatureIdentifier featureId, CellIdentifier boundaryId)
 
void SetBoundaryAssignments (int dimension, BoundaryAssignmentsContainer *)
 
void SetCell (CellIdentifier, CellAutoPointer &)
 
void SetCellData (CellDataContainer *)
 
void SetCellData (CellIdentifier, CellPixelType)
 
void SetCellLinks (CellLinksContainer *)
 
void SetCells (CellsContainer *)
 
virtual void SetCellsArray (CellsVectorContainer *)
 
virtual void SetCellsArray (CellsVectorContainer *, int cellType)
 
virtual void SetCellsAllocationMethod (MeshClassCellsAllocationMethodEnum _arg)
 
virtual const MeshClassCellsAllocationMethodEnumGetCellsAllocationMethod () const
 
- Public Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits >
virtual RegionType GetBufferedRegion () const
 
virtual RegionType GetMaximumNumberOfRegions () const
 
PointIdentifier GetNumberOfPoints () const
 
PointType GetPoint (PointIdentifier) const
 
bool GetPoint (PointIdentifier, PointType *) const
 
PointDataContainerGetPointData ()
 
const PointDataContainerGetPointData () const
 
bool GetPointData (PointIdentifier, PixelType *) const
 
PointsContainerGetPoints ()
 
const PointsContainerGetPoints () const
 
virtual RegionType GetRequestedRegion () const
 
void PassStructure (Self *inputPointSet)
 
bool RequestedRegionIsOutsideOfTheBufferedRegion () override
 
virtual void SetBufferedRegion (const RegionType &region)
 
void SetPoint (PointIdentifier, PointType)
 
void SetPointData (PointDataContainer *)
 
void SetPointData (PointIdentifier, PixelType)
 
void SetPoints (PointsContainer *)
 
void SetPoints (PointsVectorContainer *)
 
void SetRequestedRegion (const DataObject *data) override
 
virtual void SetRequestedRegion (const RegionType &region)
 
void SetRequestedRegionToLargestPossibleRegion () override
 
void UpdateOutputInformation () override
 
bool VerifyRequestedRegion () override
 
- Public Member Functions inherited from itk::DataObject
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointer< ProcessObjectGetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
void UpdateSource () const
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits >
static Pointer New ()
 
- 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 ()
 

Static Public Attributes

static constexpr unsigned int MaxTopologicalDimension = TMeshTraits::MaxTopologicalDimension
 
static constexpr unsigned int PointDimension = TMeshTraits::PointDimension
 
- Static Public Attributes inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits >
static constexpr unsigned int PointDimension = TMeshTraits::PointDimension
 

Protected Member Functions

void ReleaseCellsMemory ()
 
 Mesh ()
 
 ~Mesh () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
- Protected Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits >
 PointSet ()=default
 
 ~PointSet () override=default
 
- 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
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

CellsVectorContainerPointer cellOutputVectorContainer
 
BoundaryAssignmentsContainerVector m_BoundaryAssignmentsContainers {}
 
BoundingBoxPointer m_BoundingBox {}
 
CellDataContainerPointer m_CellDataContainer {}
 
CellLinksContainerPointer m_CellLinksContainer {}
 
CellsContainerPointer m_CellsContainer {}
 
- Protected Attributes inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits >
RegionType m_BufferedRegion { -1 }
 
RegionType m_MaximumNumberOfRegions { 1 }
 
RegionType m_NumberOfRegions { 1 }
 
PointDataContainerPointer m_PointDataContainer {}
 
PointsContainerPointer m_PointsContainer {}
 
RegionType m_RequestedNumberOfRegions {}
 
RegionType m_RequestedRegion { -1 }
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Private Member Functions

void CreateCell (int cellType, CellAutoPointer &)
 

Private Attributes

MeshClassCellsAllocationMethodEnum m_CellsAllocationMethod {}
 

Member Typedef Documentation

◆ BoundaryAssignmentsContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::BoundaryAssignmentsContainer = MapContainer<BoundaryAssignmentIdentifier, CellIdentifier>

Used for manipulating boundaries and boundary attributes. A BoundaryAssignmentsContainerVector is indexed by dimension. For each dimension, it points to a MapContainer indexed by a BoundaryAssignmentIdentifier, which encapsulates a cell identifier and a boundary feature identifier. The boundary feature identifier distinguishes different boundary features for a given cell at a given dimension.

Definition at line 289 of file itkMesh.h.

◆ BoundaryAssignmentsContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::BoundaryAssignmentsContainerPointer = typename BoundaryAssignmentsContainer::Pointer

Definition at line 290 of file itkMesh.h.

◆ BoundaryAssignmentsContainerVector

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::BoundaryAssignmentsContainerVector = std::vector<BoundaryAssignmentsContainerPointer>

Definition at line 291 of file itkMesh.h.

◆ BoundingBoxPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::BoundingBoxPointer = typename BoundingBoxType::Pointer

Definition at line 201 of file itkMesh.h.

◆ BoundingBoxType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::BoundingBoxType = BoundingBox<PointIdentifier, Self::PointDimension, CoordRepType, PointsContainer>

Used to support geometric operations on the toolkit.

Definition at line 191 of file itkMesh.h.

◆ CellAutoPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellAutoPointer = typename CellType::CellAutoPointer

Definition at line 229 of file itkMesh.h.

◆ CellDataContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellDataContainer = typename MeshTraits::CellDataContainer

Definition at line 184 of file itkMesh.h.

◆ CellDataContainerConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellDataContainerConstPointer = typename CellDataContainer::ConstPointer

Definition at line 200 of file itkMesh.h.

◆ CellDataContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellDataContainerIterator = typename CellDataContainer::ConstIterator

Definition at line 211 of file itkMesh.h.

◆ CellDataContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellDataContainerPointer = typename CellDataContainer::Pointer

Definition at line 199 of file itkMesh.h.

◆ CellFeatureCount

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellFeatureCount = CellFeatureIdentifier

A useful rename.

Definition at line 215 of file itkMesh.h.

◆ CellFeatureIdentifier

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellFeatureIdentifier = typename MeshTraits::CellFeatureIdentifier

Definition at line 175 of file itkMesh.h.

◆ CellIdentifier

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellIdentifier = typename MeshTraits::CellIdentifier

Definition at line 174 of file itkMesh.h.

◆ CellLinksContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellLinksContainer = typename MeshTraits::CellLinksContainer

Definition at line 182 of file itkMesh.h.

◆ CellLinksContainerConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellLinksContainerConstPointer = typename CellLinksContainer::ConstPointer

Definition at line 202 of file itkMesh.h.

◆ CellLinksContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellLinksContainerIterator = typename CellLinksContainer::ConstIterator

Definition at line 209 of file itkMesh.h.

◆ CellLinksContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellLinksContainerPointer = typename CellLinksContainer::Pointer

Definition at line 197 of file itkMesh.h.

◆ CellMultiVisitorType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellMultiVisitorType = typename CellType::MultiVisitor

Visiting cells.

Definition at line 232 of file itkMesh.h.

◆ CellPixelType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellPixelType = typename MeshTraits::CellPixelType

Definition at line 148 of file itkMesh.h.

◆ CellsContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsContainer = typename MeshTraits::CellsContainer

Definition at line 180 of file itkMesh.h.

◆ CellsContainerConstIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsContainerConstIterator = typename CellsContainer::ConstIterator

Definition at line 207 of file itkMesh.h.

◆ CellsContainerConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsContainerConstPointer = typename CellsContainer::ConstPointer

Definition at line 196 of file itkMesh.h.

◆ CellsContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsContainerIterator = typename CellsContainer::Iterator

Definition at line 208 of file itkMesh.h.

◆ CellsContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsContainerPointer = typename CellsContainer::Pointer

Definition at line 195 of file itkMesh.h.

◆ CellsVectorContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsVectorContainer = typename itk::VectorContainer<IdentifierType, IdentifierType>

For improving Python support for Triangle Meshes

Definition at line 187 of file itkMesh.h.

◆ CellsVectorContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellsVectorContainerPointer = typename CellsVectorContainer::Pointer

Definition at line 188 of file itkMesh.h.

◆ CellTraits

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellTraits = typename MeshTraits::CellTraits

Definition at line 179 of file itkMesh.h.

◆ CellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CellType = CellInterface<CellPixelType, CellTraits>

The base cell type for cells in this mesh.

Definition at line 218 of file itkMesh.h.

◆ ConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::ConstPointer = SmartPointer<const Self>

Definition at line 135 of file itkMesh.h.

◆ CoordRepType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::CoordRepType = typename MeshTraits::CoordRepType

Convenient type alias obtained from TMeshTraits template parameter.

Definition at line 171 of file itkMesh.h.

◆ InterpolationWeightType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::InterpolationWeightType = typename MeshTraits::InterpolationWeightType

Definition at line 172 of file itkMesh.h.

◆ MeshClassCellsAllocationMethodEnum

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::MeshClassCellsAllocationMethodEnum = MeshEnums::MeshClassCellsAllocationMethod

Definition at line 149 of file itkMesh.h.

◆ MeshTraits

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::MeshTraits = TMeshTraits

Hold on to the type information specified by the template parameters.

Definition at line 146 of file itkMesh.h.

◆ OutputHexahedronCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputHexahedronCellType = itk::HexahedronCell<CellType>

Definition at line 226 of file itkMesh.h.

◆ OutputLineCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputLineCellType = itk::LineCell<CellType>

Definition at line 220 of file itkMesh.h.

◆ OutputPolygonCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputPolygonCellType = itk::PolygonCell<CellType>

Definition at line 224 of file itkMesh.h.

◆ OutputPolyLineCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputPolyLineCellType = itk::PolyLineCell<CellType>

Definition at line 221 of file itkMesh.h.

◆ OutputQuadraticEdgeCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputQuadraticEdgeCellType = itk::QuadraticEdgeCell<CellType>

Definition at line 227 of file itkMesh.h.

◆ OutputQuadraticTriangleCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputQuadraticTriangleCellType = itk::QuadraticTriangleCell<CellType>

Definition at line 228 of file itkMesh.h.

◆ OutputQuadrilateralCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputQuadrilateralCellType = itk::QuadrilateralCell<CellType>

Definition at line 223 of file itkMesh.h.

◆ OutputTetrahedronCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputTetrahedronCellType = itk::TetrahedronCell<CellType>

Definition at line 225 of file itkMesh.h.

◆ OutputTriangleCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputTriangleCellType = itk::TriangleCell<CellType>

Definition at line 222 of file itkMesh.h.

◆ OutputVertexCellType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::OutputVertexCellType = itk::VertexCell<CellType>

Definition at line 219 of file itkMesh.h.

◆ PixelType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PixelType = typename MeshTraits::PixelType

Definition at line 147 of file itkMesh.h.

◆ PointCellLinksContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointCellLinksContainer = typename MeshTraits::PointCellLinksContainer

Definition at line 181 of file itkMesh.h.

◆ PointCellLinksContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointCellLinksContainerIterator = typename PointCellLinksContainer::const_iterator

Definition at line 212 of file itkMesh.h.

◆ PointDataContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointDataContainer = typename MeshTraits::PointDataContainer

Definition at line 183 of file itkMesh.h.

◆ PointDataContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointDataContainerIterator = typename PointDataContainer::ConstIterator

Definition at line 210 of file itkMesh.h.

◆ PointDataContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointDataContainerPointer = typename PointDataContainer::Pointer

Definition at line 198 of file itkMesh.h.

◆ Pointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::Pointer = SmartPointer<Self>

Definition at line 134 of file itkMesh.h.

◆ PointHashType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointHashType = typename MeshTraits::PointHashType

Definition at line 176 of file itkMesh.h.

◆ PointIdentifier

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointIdentifier = typename MeshTraits::PointIdentifier

Definition at line 173 of file itkMesh.h.

◆ PointsContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointsContainer = typename MeshTraits::PointsContainer

Definition at line 178 of file itkMesh.h.

◆ PointsContainerConstIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointsContainerConstIterator = typename PointsContainer::ConstIterator

Create types that are iterators for each of the container types.

Definition at line 205 of file itkMesh.h.

◆ PointsContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointsContainerIterator = typename PointsContainer::Iterator

Definition at line 206 of file itkMesh.h.

◆ PointsContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointsContainerPointer = typename PointsContainer::Pointer

Create types that are pointers to each of the container types.

Definition at line 194 of file itkMesh.h.

◆ PointType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointType = typename MeshTraits::PointType

Definition at line 177 of file itkMesh.h.

◆ Self

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::Self = Mesh

Standard type alias.

Definition at line 132 of file itkMesh.h.

◆ Superclass

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::Mesh< TPixelType, VDimension, TMeshTraits >::Superclass = PointSet<TPixelType, VDimension, TMeshTraits>

Definition at line 133 of file itkMesh.h.

Constructor & Destructor Documentation

◆ Mesh()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
itk::Mesh< TPixelType, VDimension, TMeshTraits >::Mesh ( )
protected

Constructor for use by New() method.

◆ ~Mesh()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
itk::Mesh< TPixelType, VDimension, TMeshTraits >::~Mesh ( )
overrideprotected

Constructor for use by New() method.

Member Function Documentation

◆ Accept()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual void itk::Mesh< TPixelType, VDimension, TMeshTraits >::Accept ( CellMultiVisitorType mv) const
virtual

Iterate over all the cells in the mesh and has each cell Accept the MultiVisitor. See MultiVisitor for more information. (Note, this follows the Visitor Design Pattern.)

◆ BuildCellLinks()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::BuildCellLinks ( ) const

Dynamically build the links from points back to their using cells. This information is stored in the cell links container, not in the points.

◆ CopyInformation()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::CopyInformation ( const DataObject data)
overridevirtual

Methods for managing Mesh filters that have internal mini-pipelines

Reimplemented from itk::PointSet< TPixelType, VDimension, TMeshTraits >.

Reimplemented in itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >.

◆ CreateCell()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::CreateCell ( int  cellType,
CellAutoPointer  
)
private

Create a new cell of a given type.

◆ DeleteUnusedCellData()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::DeleteUnusedCellData ( )

Delete entries in m_CellDataContainer which do not have a corresponding entry in m_CellsContainer.

◆ GetAssignedCellBoundaryIfOneExists()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetAssignedCellBoundaryIfOneExists ( int  dimension,
CellIdentifier  ,
CellFeatureIdentifier  ,
CellAutoPointer  
) const

Check if there is an explicitly assigned boundary feature for the given dimension and cell- and cell-feature-identifiers. If there is, a pointer to it is given back through boundary (if boundary != nullptr) and true is returned. Otherwise, false is returned.

◆ GetBoundaryAssignment()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetBoundaryAssignment ( int  dimension,
CellIdentifier  cellId,
CellFeatureIdentifier  featureId,
CellIdentifier boundaryId 
) const

For the given cellId, get the identifier of a particular boundary feature of the given dimension. The featureId determines which boundary feature of the specified dimension is returned. For instance, if dimension is 1 and featureId is 0, then GetBoundaryAssignment finds the 0th edge of the given cell. The return value indicates whether a feature of the appropriate dimension and featureId exists. If it does not, the BoundaryIdentifier pointer is left unchanged.

◆ GetBoundaryAssignments() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
BoundaryAssignmentsContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetBoundaryAssignments ( int  dimension)

Get the boundary assignment container for a given dimension.

◆ GetBoundaryAssignments() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const BoundaryAssignmentsContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetBoundaryAssignments ( int  dimension) const

Get the boundary assignment container for a given dimension.

◆ GetBoundingBox()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const BoundingBoxType* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetBoundingBox ( ) const

Get the bounding box of the mesh. The methods return a pointer to the user-supplied bounding box as a convenience.

◆ GetCell()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCell ( CellIdentifier  ,
CellAutoPointer  
) const

Check if a cell exists for a given cell identifier. If a spot for the cell identifier exists, the cell is set, and true is returned. Otherwise, false is returned, and the cell is not modified. If the cell is nullptr, then it is never set, but the existence of the cell is still returned.

◆ GetCellBoundaryFeature()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellBoundaryFeature ( int  dimension,
CellIdentifier  ,
CellFeatureIdentifier  ,
CellAutoPointer  
) const

Get the boundary feature of the given dimension of the given cell corresponding to the given feature identifier. If the boundary feature has been explicitly assigned, then boundary will be left pointing to the appropriate cell in the mesh. If the boundary has not been explicitly assigned, then a boundary cell will be constructed and placed in boundary. The constructed cell will not be added to the mesh or somehow cached.

◆ GetCellBoundaryFeatureNeighbors()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellIdentifier itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellBoundaryFeatureNeighbors ( int  dimension,
CellIdentifier  ,
CellFeatureIdentifier  ,
std::set< CellIdentifier > *  cellSet 
)

Get the set of cells neighboring the given cell across the given boundary feature. Returns the number of neighbors found. If cellSet is not nullptr, the set of cell pointers is filled in with identifiers of the neighboring cells.

◆ GetCellData() [1/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellDataContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellData ( )

Get the cell data container.

◆ GetCellData() [2/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const CellDataContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellData ( ) const

Get the cell data container.

◆ GetCellData() [3/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellData ( CellIdentifier  ,
CellPixelType  
) const

Check if cell data exists for a given cell identifier. If a spot for the cell identifier exists, the data is set, and true is returned. Otherwise, false is returned, and the data is not modified. If the data is nullptr, then it is never set, but the existence of the cell data is still returned.

◆ GetCellLinks() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellLinksContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellLinks ( )

Get the cell links container.

◆ GetCellLinks() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const CellLinksContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellLinks ( ) const

Get the cell links container.

◆ GetCellNeighbors()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellIdentifier itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellNeighbors ( CellIdentifier  cellId,
std::set< CellIdentifier > *  cellSet 
)

Get the set of cells having the given cell as part of their boundary. Returns the number of neighbors found. If cellSet is not nullptr, the set of cell pointers is filled in with identifiers of the neighboring cells.

◆ GetCells() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellsContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCells ( )

Get the cells container.

◆ GetCells() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const CellsContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCells ( ) const

Get the cells container.

◆ GetCellsAllocationMethod()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual const MeshClassCellsAllocationMethodEnum& itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellsAllocationMethod ( ) const
virtual

Set/Get the identification of the method used to allocate cells

Warning
Failure to call this method correctly will lead to memory leaks and/or segmentation faults because the cell memory will not be erased or will be erased with an improper method.

◆ GetCellsArray()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual CellsVectorContainer* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetCellsArray ( )
virtual

Get the cells container as a vector. The first element of the vector is the cell type and next elements are the point ids for that cell.

◆ GetNameOfClass()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const char* itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfCellBoundaryFeatures()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellFeatureCount itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetNumberOfCellBoundaryFeatures ( int  dimension,
CellIdentifier   
) const

Get the number of cell boundary features of the given topological dimension on the cell with the given identifier.

◆ GetNumberOfCells()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellIdentifier itk::Mesh< TPixelType, VDimension, TMeshTraits >::GetNumberOfCells ( ) const

Get the number of cells in the cells container.

◆ Graft()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::Graft ( const DataObject )
overridevirtual

Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.

Reimplemented from itk::PointSet< TPixelType, VDimension, TMeshTraits >.

◆ Initialize()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::Initialize ( )
overridevirtual

Restore the Mesh to its initial state. Useful for data pipeline updates without memory re-allocation.

Reimplemented from itk::PointSet< TPixelType, VDimension, TMeshTraits >.

◆ New()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
static Pointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::New ( )
static

Method for creation through the object factory.

◆ PassStructure()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::PassStructure ( Self inputMesh)

Copy the geometric and topological structure of the given input mesh. The copying is done via reference counting.

◆ PrintSelf()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

◆ ReleaseCellsMemory()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::ReleaseCellsMemory ( )
protected

Release the memory allocated for the cells pointers. This is done based on information provided by the user through the method SetCellsAllocationMethod().

◆ RemoveBoundaryAssignment()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::Mesh< TPixelType, VDimension, TMeshTraits >::RemoveBoundaryAssignment ( int  dimension,
CellIdentifier  cellId,
CellFeatureIdentifier  featureId 
)

Remove an explicit boundary assignment if it exists. Returns whether the assignment was found at all.

◆ SetBoundaryAssignment()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetBoundaryAssignment ( int  dimension,
CellIdentifier  cellId,
CellFeatureIdentifier  featureId,
CellIdentifier  boundaryId 
)

Explicitly assign boundaryId as a part of the boundary of cellId. The identifiers boundaryId and cellId must identify cell objects already in the mesh. The dimension of boundaryId must be specified by dimension, and a unique CellFeatureIdentifier featureId must be assigned for each distinct boundary feature of a given dimension. CellFeatureIdentifier is equivalent to IdentifierType by default, and this type alias will not typically need to be changed. The UsingCells list of boundaryId is automatically updated to include cellId.

◆ SetBoundaryAssignments()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetBoundaryAssignments ( int  dimension,
BoundaryAssignmentsContainer  
)

Set/get the boundary assignment container for a given dimension. The BoundaryAssignmentsContainer is a MapContainer indexed by a BoundaryAssignmentIdentifier, which encapsulates a cell identifier and a boundary feature identifier. The boundary feature identifier distinguishes different boundary features for a given cell at a given dimension.

◆ SetCell()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCell ( CellIdentifier  ,
CellAutoPointer  
)

Assign a cell to a cell identifier. If a spot for the cell identifier does not exist, it will be created automatically. If used to overwrite a cell currently in the mesh, it is the caller's responsibility to release the memory for the cell currently at the CellIdentifier position prior to calling this method.

◆ SetCellData() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellData ( CellDataContainer )

Set the cell data container, which contains data associated with the mesh's cells. Optionally, this can be nullptr, indicating that no data are associated with the cells. The data for a cell can be accessed through its cell identifier.

◆ SetCellData() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellData ( CellIdentifier  ,
CellPixelType   
)

Assign data to a cell identifier. If a spot for the cell identifier does not exist, it will be created automatically. There is no check if a cell with the same identifier exists.

◆ SetCellLinks()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellLinks ( CellLinksContainer )

Set the cell links container, which contains parent cell links for each point. Since a point can be used by multiple cells, each point identifier accesses another container which holds the cell identifiers

◆ SetCells()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCells ( CellsContainer )

Set the cells container, which holds cells used by the mesh. Individual cells are accessed through cell identifiers.

◆ SetCellsAllocationMethod()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellsAllocationMethod ( MeshClassCellsAllocationMethodEnum  _arg)
virtual

Set/Get the identification of the method used to allocate cells

Warning
Failure to call this method correctly will lead to memory leaks and/or segmentation faults because the cell memory will not be erased or will be erased with an improper method.

◆ SetCellsArray() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellsArray ( CellsVectorContainer )
virtual

Set the cells container using a 1D vector. The first element of the vector is the cell type and next is number of points in the cell followed by the point ids in that cell. Can cause exception if input cell array isn't of right dimension.

◆ SetCellsArray() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
virtual void itk::Mesh< TPixelType, VDimension, TMeshTraits >::SetCellsArray ( CellsVectorContainer ,
int  cellType 
)
virtual

Set the cells container using a 1D vector. To be used when all the cells are of same type. Takes as argument the cell point ids and the cell type.

Member Data Documentation

◆ cellOutputVectorContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellsVectorContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::cellOutputVectorContainer
protected

Definition at line 298 of file itkMesh.h.

◆ m_BoundaryAssignmentsContainers

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
BoundaryAssignmentsContainerVector itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_BoundaryAssignmentsContainers {}
protected

A vector of objects containing explicit cell boundary assignments. The vector is indexed by the topological dimension of the cell boundary. The container for each topological dimension holds boundary identifiers of the assigned boundaries. The containers are keyed by BoundaryAssignmentIdentifier objects (see above). The boundary identifiers can be used to access the boundaries themselves in the containers stored in the Boundaries vector. They can also be used to access the data stored by a particular boundary through the containers in the BoundaryData vector.

Definition at line 319 of file itkMesh.h.

◆ m_BoundingBox

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
BoundingBoxPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_BoundingBox {}
protected

The bounding box (xmin,xmax, ymin,ymax, ...) of the mesh. The bounding box is used for searching, picking, display, etc.

Definition at line 593 of file itkMesh.h.

◆ m_CellDataContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellDataContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_CellDataContainer {}
protected

An object containing data associated with the mesh's cells. Optionally, this can be nullptr, indicating that no data are associated with the cells. The data for a cell can be accessed through its cell identifier.

Definition at line 303 of file itkMesh.h.

◆ m_CellLinksContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellLinksContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_CellLinksContainer {}
mutableprotected

An object containing parent cell links for each point. Since a point can be used by multiple cells, each point identifier accesses another container which holds the cell identifiers

Definition at line 308 of file itkMesh.h.

◆ m_CellsAllocationMethod

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
MeshClassCellsAllocationMethodEnum itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_CellsAllocationMethod {}
private

Definition at line 596 of file itkMesh.h.

◆ m_CellsContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
CellsContainerPointer itk::Mesh< TPixelType, VDimension, TMeshTraits >::m_CellsContainer {}
protected

Holds cells used by the mesh. Individual cells are accessed through cell identifiers.

Definition at line 296 of file itkMesh.h.

◆ MaxTopologicalDimension

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
constexpr unsigned int itk::Mesh< TPixelType, VDimension, TMeshTraits >::MaxTopologicalDimension = TMeshTraits::MaxTopologicalDimension
staticconstexpr

Definition at line 153 of file itkMesh.h.

◆ PointDimension

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
constexpr unsigned int itk::Mesh< TPixelType, VDimension, TMeshTraits >::PointDimension = TMeshTraits::PointDimension
staticconstexpr

Convenient constants obtained from TMeshTraits template parameter.

Definition at line 152 of file itkMesh.h.


The documentation for this class was generated from the following file: