VTK  9.4.20241217
vtkOrientPolyData.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
15#ifndef vtkOrientPolyData_h
16#define vtkOrientPolyData_h
17
18#include "vtkFiltersCoreModule.h" // For export macro
20
21VTK_ABI_NAMESPACE_BEGIN
22class vtkIdList;
23
24class VTKFILTERSCORE_EXPORT vtkOrientPolyData : public vtkPolyDataAlgorithm
25{
26public:
29 void PrintSelf(ostream& os, vtkIndent indent) override;
30
32
37 vtkSetMacro(Consistency, bool);
38 vtkGetMacro(Consistency, bool);
39 vtkBooleanMacro(Consistency, bool);
41
43
56 vtkSetMacro(AutoOrientNormals, bool);
57 vtkGetMacro(AutoOrientNormals, bool);
58 vtkBooleanMacro(AutoOrientNormals, bool);
60
62
69 vtkSetMacro(NonManifoldTraversal, bool);
70 vtkGetMacro(NonManifoldTraversal, bool);
71 vtkBooleanMacro(NonManifoldTraversal, bool);
73
75
83 vtkSetMacro(FlipNormals, bool);
84 vtkGetMacro(FlipNormals, bool);
85 vtkBooleanMacro(FlipNormals, bool);
87
88protected:
91
93
98
99private:
100 vtkOrientPolyData(const vtkOrientPolyData&) = delete;
101 void operator=(const vtkOrientPolyData&) = delete;
102
103 void TraverseAndOrder(vtkPolyData* input, vtkPolyData* output, vtkIdList* wave, vtkIdList* wave2,
104 vtkIdList* cellPointIds, vtkIdList* cellIds, vtkIdList* neighborPointIds,
105 std::vector<char>& visited, vtkIdType& numFlips);
106};
107VTK_ABI_NAMESPACE_END
108
109#endif // vtkOrientPolyData_h
list of point or cell ids
Definition vtkIdList.h:133
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Auto detect correct normal orientation and/or enforce consistent polygon ordering.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkOrientPolyData() override
static vtkOrientPolyData * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
int vtkIdType
Definition vtkType.h:315