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;
84 id[0] = iQE1->GetOrigin();
85 id[1] = iQE1->GetDestination();
86 id[2] = iQE2->GetDestination();
90 for (
int i = 0; i < 3; i++ )
92 p[i] = output->GetPoint(
id[i]);
95 return static_cast< OutputCurvatureType >( TriangleType::ComputeMixedArea( p[0], p[1], p[2] ) );
98 virtual void GenerateData()
100 this->CopyInputMeshToOutputMesh();
109 while ( p_it != points->End() )
111 curvature = this->EstimateCurvature( p_it->Value() );
112 output->SetPointData(p_it->Index(), curvature);
120 void operator=(
const Self &);