ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkSmoothingQuadEdgeMeshFilter.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 itkSmoothingQuadEdgeMeshFilter_h
19#define itkSmoothingQuadEdgeMeshFilter_h
20
23
24namespace itk
25{
57
58template <typename TInputMesh, typename TOutputMesh = TInputMesh>
59class ITK_TEMPLATE_EXPORT SmoothingQuadEdgeMeshFilter : public QuadEdgeMeshToQuadEdgeMeshFilter<TInputMesh, TOutputMesh>
60{
61public:
62 ITK_DISALLOW_COPY_AND_MOVE(SmoothingQuadEdgeMeshFilter);
63
68
70 itkOverrideGetNameOfClassMacro(SmoothingQuadEdgeMeshFilter);
71
73 itkNewMacro(Self);
74
75 using InputMeshType = TInputMesh;
76 using InputMeshPointer = typename InputMeshType::Pointer;
77
78 using OutputMeshType = TOutputMesh;
79 using OutputMeshPointer = typename OutputMeshType::Pointer;
80 using OutputEdgeCellType = typename OutputMeshType::EdgeCellType;
81 using OutputPolygonCellType = typename OutputMeshType::PolygonCellType;
82 using OutputQEType = typename OutputMeshType::QEType;
83 using OutputPointIdentifier = typename OutputMeshType::PointIdentifier;
84 using OutputPointType = typename OutputMeshType::PointType;
85 using OutputVectorType = typename OutputPointType::VectorType;
86 using OutputCoordType = typename OutputPointType::CoordinateType;
87 using OutputPointsContainer = typename OutputMeshType::PointsContainer;
88 using OutputPointsContainerPointer = typename OutputMeshType::PointsContainerPointer;
89 using OutputPointsContainerIterator = typename OutputMeshType::PointsContainerIterator;
90 using OutputCellsContainerPointer = typename OutputMeshType::CellsContainerPointer;
91 using OutputCellsContainerIterator = typename OutputMeshType::CellsContainerIterator;
92
93 static constexpr unsigned int PointDimension = OutputMeshType::PointDimension;
94
96
97 void
99
101 itkSetMacro(NumberOfIterations, unsigned int);
102 itkGetConstMacro(NumberOfIterations, unsigned int);
104
106 itkBooleanMacro(DelaunayConforming);
107 itkSetMacro(DelaunayConforming, bool);
108 itkGetConstMacro(DelaunayConforming, bool);
110
112 itkSetMacro(RelaxationFactor, OutputCoordType);
113 itkGetConstMacro(RelaxationFactor, OutputCoordType);
115
116protected:
119 void
120 PrintSelf(std::ostream & os, Indent indent) const override;
121
123
126
128
131
133
135
136 unsigned int m_NumberOfIterations{};
137
139
140 void
141 GenerateData() override;
142};
143} // namespace itk
144
145#include "itkSmoothingQuadEdgeMeshFilter.hxx"
146#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
Superclass for all the matrix coefficients computation classes.
Implements transparent reference counting.
void SetCoefficientsMethod(CoefficientsComputation *iMethod)
typename OutputMeshType::PointsContainer OutputPointsContainer
typename OutputMeshType::CellsContainerIterator OutputCellsContainerIterator
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator
typename OutputMeshType::Pointer OutputMeshPointer
DelaunayConformingQuadEdgeMeshFilter< OutputMeshType, OutputMeshType > OutputDelaunayConformingType
QuadEdgeMeshToQuadEdgeMeshFilter< TInputMesh, TOutputMesh > Superclass
typename OutputMeshType::QEType OutputQEType
MatrixCoefficients< OutputMeshType > CoefficientsComputation
typename OutputMeshType::EdgeCellType OutputEdgeCellType
typename OutputDelaunayConformingType::Pointer OutputDelaunayConformingPointer
InputOutputDelaunayConformingPointer m_InputDelaunayFilter
OutputDelaunayConformingPointer m_OutputDelaunayFilter
typename InputOutputDelaunayConformingType::Pointer InputOutputDelaunayConformingPointer
typename OutputMeshType::PolygonCellType OutputPolygonCellType
DelaunayConformingQuadEdgeMeshFilter< InputMeshType, OutputMeshType > InputOutputDelaunayConformingType
typename InputMeshType::Pointer InputMeshPointer
typename OutputMeshType::CellsContainerPointer OutputCellsContainerPointer
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename OutputPointType::CoordinateType OutputCoordType
typename OutputMeshType::PointType OutputPointType
void PrintSelf(std::ostream &os, Indent indent) const override
typename OutputPointType::VectorType OutputVectorType
typename OutputMeshType::PointIdentifier OutputPointIdentifier
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....