18 #ifndef __itkQuadEdgeMeshDecimationCriteria_h
19 #define __itkQuadEdgeMeshDecimationCriteria_h
31 template<
class TMesh,
33 typename TMeasure = double,
34 class TPriorityQueueWrapper =
35 MinPriorityQueueElementWrapper<
typename TMesh::QEType *,
36 std::pair< bool, TMeasure > > >
52 typedef typename PriorityQueueWrapperType::ElementPriorityType
PriorityType;
56 this->m_SizeCriterion =
true;
57 this->m_NumberOfElements = numberOfElements;
62 this->m_SizeCriterion =
false;
63 this->m_MeasureBound = bound;
66 itkGetConstMacro(TopologicalChange,
bool);
67 itkSetMacro(TopologicalChange,
bool);
69 virtual bool is_satisfied(MeshType *iMesh,
70 const ElementType & iElement,
71 const MeasureType & iValue)
const = 0;
76 this->m_TopologicalChange =
true;
77 this->m_SizeCriterion =
true;
78 this->m_NumberOfElements = 0;
83 void PrintSelf(std::ostream & os,
Indent indent)
const
85 Superclass::PrintSelf(os, indent);
86 os << indent <<
"TopologicalChange: "
87 << (m_TopologicalChange ?
"On" :
"Off")
89 os << indent <<
"SizeCriterion: "
90 << (m_SizeCriterion ?
"On" :
"Off")
92 os << indent <<
"NumberOfElements: "
95 os << indent <<
"MeasureBound: "
109 void operator=(
const Self &);
117 template<
class TMesh,
119 typename TMeasure = double,
120 class TPriorityQueueWrapper =
122 std::pair< bool, TMeasure > > >
125 TMeasure, TPriorityQueueWrapper >
132 TMesh, TElement, TMeasure, TPriorityQueueWrapper >
Superclass;
167 template<
class TMesh,
169 typename TMeasure = double,
170 class TPriorityQueueWrapper =
171 MinPriorityQueueElementWrapper<
typename TMesh::QEType *,
172 std::pair< bool, TMeasure > > >
175 TMeasure, TPriorityQueueWrapper >
218 template<
class TMesh,
220 typename TMeasure = double,
221 class TPriorityQueueWrapper =
222 MinPriorityQueueElementWrapper<
typename TMesh::QEType *,
223 std::pair< bool, TMeasure > > >
226 TMeasure, TPriorityQueueWrapper >
269 template<
class TMesh,
271 typename TMeasure = double,
272 class TPriorityQueueWrapper =
273 MaxPriorityQueueElementWrapper<
typename TMesh::QEType *,
274 std::pair< bool, TMeasure > > >
277 TMeasure, TPriorityQueueWrapper >