17 #ifndef mitkReduceContourSetFilter_h_Included
18 #define mitkReduceContourSetFilter_h_Included
25 #include "vtkCellArray.h"
27 #include "vtkPoints.h"
28 #include "vtkPolyData.h"
29 #include "vtkPolygon.h"
30 #include "vtkSmartPointer.h"
72 itkFactorylessNewMacro(
Self) itkCloneMacro(
Self)
74 itkSetMacro(MinSpacing,
double);
75 itkSetMacro(MaxSpacing,
double);
77 itkSetMacro(StepSize,
unsigned int);
78 itkSetMacro(Tolerance,
double);
80 itkGetMacro(NumberOfPointsAfterReduction,
unsigned int);
90 void SetUseProgressBar(
bool);
92 using
itk::ProcessObject::SetInput;
93 virtual
void SetInput(const
mitk::
Surface *surface);
94 virtual
void SetInput(
unsigned int idx, const
mitk::
Surface *surface);
101 void SetProgressStepSize(
unsigned int stepSize);
105 virtual ~ReduceContourSetFilter();
106 virtual
void GenerateData() override;
107 virtual
void GenerateOutputInformation() override;
110 void ReduceNumberOfPointsByNthPoint(
111 vtkIdType cellSize, vtkIdType *cell, vtkPoints *points, vtkPolygon *reducedPolygon, vtkPoints *reducedPoints);
113 void ReduceNumberOfPointsByDouglasPeucker(
114 vtkIdType cellSize, vtkIdType *cell, vtkPoints *points, vtkPolygon *reducedPolygon, vtkPoints *reducedPoints);
116 bool CheckForIntersection(
117 vtkIdType *currentCell,
118 vtkIdType currentCellSize,
119 vtkPoints *currentPoints,
120 unsigned int currentInputIndex);
125 Reduction_Type m_ReductionType;
126 unsigned int m_StepSize;
128 unsigned int m_MaxSegmentLenght;
130 bool m_UseProgressBar;
131 unsigned int m_ProgressStepSize;
133 unsigned int m_NumberOfPointsAfterReduction;
Class for storing surfaces (vtkPolyData).
A filter that reduces the number of points of contours represented by a mitk::Surface.
Superclass of all classes generating some kind of mitk::BaseData.
DataCollection - Class to facilitate loading/accessing structured data.
#define MITKSURFACEINTERPOLATION_EXPORT
#define mitkClassMacro(className, SuperClassName)
Superclass of all classes getting surfaces (instances of class Surface) as input and generating surfa...