18#ifndef itkDiscreteCurvatureQuadEdgeMeshFilter_h
19#define itkDiscreteCurvatureQuadEdgeMeshFilter_h
34template <
typename TInputMesh,
typename TOutputMesh = TInputMesh>
66#ifdef ITK_USE_CONCEPT_CHECKING
74 : m_OutputMesh(nullptr)
87 id[0] = iQE1->GetOrigin();
88 id[1] = iQE1->GetDestination();
89 id[2] = iQE2->GetDestination();
93 for (
int i = 0; i < 3; ++i)
95 p[i] = this->m_OutputMesh->GetPoint(
id[i]);
104 this->CopyInputMeshToOutputMesh();
113 this->m_OutputMesh = this->GetOutput();
114 while (p_it != points->End())
116 curvature = this->EstimateCurvature(p_it->Value());
117 output->SetPointData(p_it->Index(), curvature);
typename OutputMeshType::QEType OutputQEType
typename OutputMeshTraits::PixelType OutputCurvatureType
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename OutputPointType::CoordRepType OutputCoordType
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator
typename OutputMeshType::MeshTraits OutputMeshTraits
TOutputMesh OutputMeshType
typename OutputMeshType::PointIdentifier OutputPointIdentifier
void GenerateData() override
typename OutputMeshType::Pointer OutputMeshPointer
OutputCurvatureType ComputeMixedArea(OutputQEType *iQE1, OutputQEType *iQE2)
DiscreteCurvatureQuadEdgeMeshFilter()
typename InputMeshType::Pointer InputMeshPointer
virtual OutputCurvatureType EstimateCurvature(const OutputPointType &iP)=0
~DiscreteCurvatureQuadEdgeMeshFilter() override=default
typename OutputMeshType::PointType OutputPointType
typename OutputMeshType::CellIdentifier OutputCellIdentifier
Light weight base class for most itk classes.
Duplicates the content of a Mesh.
A convenience class for computation of various triangle elements in 2D or 3D.
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....