18 #ifndef itkDiscreteCurvatureQuadEdgeMeshFilter_h
19 #define itkDiscreteCurvatureQuadEdgeMeshFilter_h
34 template <
typename TInputMesh,
typename TOutputMesh = TInputMesh>
66 #ifdef ITK_USE_CONCEPT_CHECKING
74 : m_OutputMesh(nullptr)
78 virtual OutputCurvatureType
79 EstimateCurvature(
const OutputPointType & iP) = 0;
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]);
98 return static_cast<OutputCurvatureType>(TriangleType::ComputeMixedArea(p[0], p[1], p[2]));
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);