18 #ifndef __itkDiscreteCurvatureQuadEdgeMeshFilter_h
19 #define __itkDiscreteCurvatureQuadEdgeMeshFilter_h
34 template<
class TInputMesh,
class TOutputMesh=TInputMesh >
64 #ifdef ITK_USE_CONCEPT_CHECKING
76 virtual OutputCurvatureType EstimateCurvature(
const OutputPointType & iP) = 0;
83 id[0] = iQE1->GetOrigin();
84 id[1] = iQE1->GetDestination();
85 id[2] = iQE2->GetDestination();
89 for (
int i = 0; i < 3; i++ )
91 p[i] = this->m_OutputMesh->GetPoint(
id[i]);
94 return static_cast< OutputCurvatureType >( TriangleType::ComputeMixedArea( p[0], p[1], p[2] ) );
97 virtual void GenerateData()
99 this->CopyInputMeshToOutputMesh();
108 this->m_OutputMesh = this->GetOutput();
109 while ( p_it != points->End() )
111 curvature = this->EstimateCurvature( p_it->Value() );
112 output->SetPointData(p_it->Index(), curvature);
122 void operator=(
const Self &);