ITK  6.0.0
Insight Toolkit
itkLevelSetDomainPartitionMesh.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkLevelSetDomainPartitionMesh_h
19#define itkLevelSetDomainPartitionMesh_h
20
22#include <map>
23
24namespace itk
25{
32template <typename TMesh>
33class ITK_TEMPLATE_EXPORT LevelSetDomainPartitionMesh : public LevelSetDomainPartitionBase<TMesh>
34{
35public:
36 ITK_DISALLOW_COPY_AND_MOVE(LevelSetDomainPartitionMesh);
37
42
43 static constexpr unsigned int PointDimension = TMesh::PointDimension;
44
45 itkOverrideGetNameOfClassMacro(LevelSetDomainPartitionMesh);
46
47 using MeshType = TMesh;
51 using PointIdentifierType = typename MeshType::PointIdentifierType;
52
53 using PointsContainerConstPointer = typename MeshType::PointsContainerConstPointer;
54 using PointsContainerConstIterator = typename MeshType::PointsContainerConstIterator;
55
56 using typename Superclass::IdentifierListType;
57
58 using ListMeshType = std::map<PointIdentifierType, IdentifierListType>;
59
60 itkSetObjectMacro(Mesh, MeshType);
61
62protected:
64 virtual ~LevelSetDomainPartitionMesh() = default;
65
68 virtual void
70
73 void
75
76private:
77 MeshPointer m_Mesh{};
78 ListMeshType m_ListDomain{};
79};
80
81} // end namespace itk
82
83#ifndef ITK_MANUAL_INSTANTIATION
84# include "itkLevelSetDomainPartitionMesh.hxx"
85#endif
86
87#endif
Helper class used to partition domain and efficiently compute overlap.
Helper class used to partition domain and efficiently compute overlap.
typename MeshType::PointsContainerConstIterator PointsContainerConstIterator
std::map< PointIdentifierType, IdentifierListType > ListMeshType
virtual ~LevelSetDomainPartitionMesh()=default
typename MeshType::PointsContainerConstPointer PointsContainerConstPointer
typename MeshType::PointIdentifierType PointIdentifierType
typename MeshType::ConstPointer MeshConstPointer
Light weight base class for most itk classes.
Implements the N-dimensional mesh structure.
Definition: itkMesh.h:127
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....