|
ITK
6.0.0
Insight Toolkit
|
Go to the documentation of this file.
38 #include "ITKMeshExport.h"
123 template <
typename TPixelType,
124 unsigned int VDimension = 3,
125 typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
126 class ITK_TEMPLATE_EXPORT
Mesh :
public PointSet<TPixelType, VDimension, TMeshTraits>
129 ITK_DISALLOW_COPY_AND_MOVE(
Mesh);
143 itkOverrideGetNameOfClassMacro(
Mesh);
152 static constexpr
unsigned int PointDimension = TMeshTraits::PointDimension;
153 static constexpr
unsigned int MaxTopologicalDimension = TMeshTraits::MaxTopologicalDimension;
155 #if !defined(ITK_LEGACY_REMOVE)
160 static constexpr CellsAllocationMethodType CellsAllocationMethodUndefined =
161 MeshClassCellsAllocationMethodEnum::CellsAllocationMethodUndefined;
162 static constexpr CellsAllocationMethodType CellsAllocatedAsStaticArray =
164 static constexpr CellsAllocationMethodType CellsAllocatedAsADynamicArray =
166 static constexpr CellsAllocationMethodType CellsAllocatedDynamicallyCellByCell =
172 #ifndef ITK_FUTURE_LEGACY_REMOVE
173 using CoordRepType ITK_FUTURE_DEPRECATED(
174 "ITK 6 discourages using `CoordRepType`. Please use `CoordinateType` instead!") =
CoordinateType;
259 , m_FeatureId(featureId)
328 GetNumberOfCells()
const;
334 PassStructure(
Self * inputMesh);
340 Initialize()
override;
344 CopyInformation(
const DataObject * data)
override;
351 const BoundingBoxType *
352 GetBoundingBox()
const;
359 SetCellLinks(CellLinksContainer *);
366 const CellLinksContainer *
367 GetCellLinks()
const;
372 SetCells(CellsContainer *);
380 SetCellsArray(CellsVectorContainer *);
387 SetCellsArray(CellsVectorContainer *,
int cellType);
392 virtual CellsVectorContainer *
400 const CellsContainer *
408 SetCellData(CellDataContainer *);
415 const CellDataContainer *
422 DeleteUnusedCellData();
424 #if !defined(ITK_WRAPPING_PARSER)
434 SetBoundaryAssignments(
int dimension, BoundaryAssignmentsContainer *);
437 BoundaryAssignmentsContainerPointer
438 GetBoundaryAssignments(
int dimension);
441 const BoundaryAssignmentsContainerPointer
442 GetBoundaryAssignments(
int dimension)
const;
451 SetCell(CellIdentifier, CellAutoPointer &);
460 GetCell(CellIdentifier, CellAutoPointer &)
const;
466 void SetCellData(CellIdentifier, CellPixelType);
475 GetCellData(CellIdentifier, CellPixelType *)
const;
490 SetBoundaryAssignment(
int dimension,
491 CellIdentifier cellId,
492 CellFeatureIdentifier featureId,
493 CellIdentifier boundaryId);
504 GetBoundaryAssignment(
int dimension,
505 CellIdentifier cellId,
506 CellFeatureIdentifier featureId,
507 CellIdentifier * boundaryId)
const;
513 RemoveBoundaryAssignment(
int dimension, CellIdentifier cellId, CellFeatureIdentifier featureId);
519 GetNumberOfCellBoundaryFeatures(
int dimension, CellIdentifier)
const;
530 GetCellBoundaryFeature(
int dimension, CellIdentifier, CellFeatureIdentifier, CellAutoPointer &)
const;
537 GetCellBoundaryFeatureNeighbors(
int dimension,
539 CellFeatureIdentifier,
540 std::set<CellIdentifier> * cellSet);
547 GetCellNeighbors(CellIdentifier cellId, std::set<CellIdentifier> * cellSet);
557 GetAssignedCellBoundaryIfOneExists(
int dimension, CellIdentifier, CellFeatureIdentifier, CellAutoPointer &)
const;
562 BuildCellLinks()
const;
570 Accept(CellMultiVisitorType * mv)
const;
576 itkSetMacro(CellsAllocationMethod, MeshClassCellsAllocationMethodEnum);
577 itkGetConstReferenceMacro(CellsAllocationMethod, MeshClassCellsAllocationMethodEnum);
585 PrintSelf(std::ostream & os,
Indent indent)
const override;
593 ReleaseCellsMemory();
604 CreateCell(
int cellType, CellAutoPointer &);
608 extern ITKMesh_EXPORT std::ostream &
612 #ifndef ITK_MANUAL_INSTANTIATION
613 # ifndef ITK_WRAPPING_PARSER
614 # include "itkMesh.hxx"
typename MeshTraits::PointCellLinksContainer PointCellLinksContainer
typename MeshTraits::CellTraits CellTraits
SmartPointer< Self > Pointer
typename CellType::MultiVisitor CellMultiVisitorType
itkMakeCellTraitsMacro CellTraits
Represents a single vertex for a Mesh.
SmartPointer< const Self > ConstPointer
Represents a quadrilateral for a Mesh.
bool operator==(const Self &r) const
Represents a series of connected line segments for a Mesh.
typename CellDataContainer::ConstIterator CellDataContainerIterator
typename PointDataContainer::Pointer PointDataContainerPointer
bool operator<(const Index< VDimension > &one, const Index< VDimension > &two)
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
typename MeshTraits::CellLinksContainer CellLinksContainer
TCoordinate CoordinateType
typename PointType::CoordinateType CoordinateType
IdentifierType PointIdentifier
CellsVectorContainerPointer cellOutputVectorContainer
ImageBaseType::PointType PointType
typename BoundingBoxType::Pointer BoundingBoxPointer
TInterpolationWeight InterpolationWeightType
typename CellLinksContainer::Pointer CellLinksContainerPointer
std::set< CellIdentifier > PointCellLinksContainer
typename CellsContainer::Pointer CellsContainerPointer
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
Represents a polygon in a Mesh.
Control indentation during Print() invocation.
typename CellsVectorContainer::Pointer CellsVectorContainerPointer
typename PointsContainer::Iterator PointsContainerIterator
DefaultDynamicMeshTraits< TCoordinate, 2, 2, TCoordinate > ::PointsContainer PointsContainer
A visitor that can visit different cell types in a mesh. CellInterfaceVisitor instances can be regist...
typename CellDataContainer::ConstPointer CellDataContainerConstPointer
A wrapper of the STL "map" container.
typename CellType::CellAutoPointer CellAutoPointer
typename CellLinksContainer::ConstPointer CellLinksContainerConstPointer
typename MeshTraits::CellIdentifier CellIdentifier
Represents a second order line segment for a Mesh.
TetrahedronCell represents a tetrahedron for a Mesh.
typename MeshTraits::CellsContainer CellsContainer
typename MeshTraits::PointIdentifier PointIdentifier
TCellPixelType CellPixelType
IdentifierType CellFeatureIdentifier
IdentifierType CellIdentifier
ImageBaseType::RegionType RegionType
typename CellsContainer::ConstPointer CellsContainerConstPointer
SelfAutoPointer CellAutoPointer
typename MeshTraits::PixelType PixelType
Represents a hexahedron (cuboid) for a Mesh.
typename itk::VectorContainer< IdentifierType > CellsVectorContainer
CellFeatureIdentifier m_FeatureId
typename CellsContainer::ConstIterator CellsContainerConstIterator
typename MeshTraits::InterpolationWeightType InterpolationWeightType
Represents a line segment for a Mesh.
typename PointDataContainer::ConstIterator PointDataContainerIterator
MeshClassCellsAllocationMethod
An abstract interface for cells.
typename MeshTraits::CellFeatureIdentifier CellFeatureIdentifier
typename CellLinksContainer::ConstIterator CellLinksContainerIterator
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
typename PointsContainer::ConstIterator PointsContainerConstIterator
Implements the N-dimensional mesh structure.
typename MeshTraits::CellPixelType CellPixelType
typename MeshTraits::PointDataContainer PointDataContainer
typename PointCellLinksContainer::const_iterator PointCellLinksContainerIterator
Base class for most ITK classes.
A templated class holding a geometric point in n-Dimensional space.
std::vector< BoundaryAssignmentsContainerPointer > BoundaryAssignmentsContainerVector
typename CellsContainer::Iterator CellsContainerIterator
typename MeshTraits::PointType PointType
Represent and compute information about bounding boxes.
CellFeatureIdentifier CellFeatureCount
typename PointsContainer::Pointer PointsContainerPointer
Represents a second order triangular patch for a Mesh.
typename CellDataContainer::Pointer CellDataContainerPointer
typename BoundaryAssignmentsContainer::Pointer BoundaryAssignmentsContainerPointer
A simple structure that holds type information for a mesh and its cells.
BoundaryAssignmentIdentifier(CellIdentifier cellId, CellFeatureIdentifier featureId)
typename MeshTraits::PointHashType PointHashType
typename MeshTraits::CellDataContainer CellDataContainer
Base class for all data objects in ITK.