1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkRemoveDuplicatePolys.h
5 
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /**
16  * @class   vtkRemoveDuplicatePolys
17  * @brief   remove duplicate/degenerate polygons
18  *
19  * vtkRemoveDuplicatePolys is a filter that removes duplicate or degenerate
20  * polygons. Assumes the input grid does not contain duplicate points. You
21  * may want to run vtkCleanPolyData first to assert it. If duplicated
22  * polygons are found they are removed in the output.
23  *
24  * @sa
25  * vtkCleanPolyData
26 */
27 
28 #ifndef vtkRemoveDuplicatePolys_h
29 #define vtkRemoveDuplicatePolys_h
30 
31 #include "vtkFiltersCoreModule.h" // For export macro
32 #include "vtkPolyDataAlgorithm.h"
33 
34 class VTKFILTERSCORE_EXPORT vtkRemoveDuplicatePolys : public vtkPolyDataAlgorithm
35 {
36 public:
37   static vtkRemoveDuplicatePolys *New();
38   void PrintSelf(ostream& os, vtkIndent indent) override;
39   vtkTypeMacro(vtkRemoveDuplicatePolys,vtkPolyDataAlgorithm);
40 
41 protected:
42   vtkRemoveDuplicatePolys();
43   ~vtkRemoveDuplicatePolys() override;
44 
45   // Usual data generation method.
46   virtual int RequestData(vtkInformation *, vtkInformationVector **,
47                           vtkInformationVector *) override;
48 
49 private:
50   vtkRemoveDuplicatePolys(const vtkRemoveDuplicatePolys&) = delete;
51   void operator=(const vtkRemoveDuplicatePolys&) = delete;
52 };
53 
54 #endif
55