18 #ifndef __itkDecimationQuadEdgeMeshFilter_h
19 #define __itkDecimationQuadEdgeMeshFilter_h
31 template<
class TInput,
class TOutput,
class TCriterion >
61 this->m_Iteration = 0;
62 this->m_OutputMesh = 0;
72 this->CopyInputMeshToOutputMesh();
77 this->m_OutputMesh = this->GetOutput();
82 if ( ProcessWithTopologicalGuarantee() )
89 while ( !IsCriterionSatisfied() );
91 this->GetOutput()->SqueezePointsIds();
95 virtual void FillPriorityQueue() = 0;
97 virtual void Extract() = 0;
99 virtual bool ProcessWithoutAnyTopologicalGuarantee() = 0;
101 virtual bool ProcessWithTopologicalGuarantee() = 0;
103 virtual bool IsCriterionSatisfied() = 0;
105 void PrintSelf(std::ostream & os,
Indent indent)
const
107 this->Superclass::PrintSelf(os, indent);
108 os << indent <<
"Criterion: " << m_Criterion << std::endl;
116 void operator=(
const Self &);