VTK  9.5.20250926
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
21
22VTK_ABI_NAMESPACE_BEGIN
23class vtkIdList;
24
25class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkOrientPolyData : public vtkPolyDataAlgorithm
26{
27public:
30 void PrintSelf(ostream& os, vtkIndent indent) override;
31
33
38 vtkSetMacro(Consistency, bool);
39 vtkGetMacro(Consistency, bool);
40 vtkBooleanMacro(Consistency, bool);
42
44
57 vtkSetMacro(AutoOrientNormals, bool);
58 vtkGetMacro(AutoOrientNormals, bool);
59 vtkBooleanMacro(AutoOrientNormals, bool);
61
63
70 vtkSetMacro(NonManifoldTraversal, bool);
71 vtkGetMacro(NonManifoldTraversal, bool);
72 vtkBooleanMacro(NonManifoldTraversal, bool);
74
76
84 vtkSetMacro(FlipNormals, bool);
85 vtkGetMacro(FlipNormals, bool);
86 vtkBooleanMacro(FlipNormals, bool);
88
89protected:
92
94
99
100private:
101 vtkOrientPolyData(const vtkOrientPolyData&) = delete;
102 void operator=(const vtkOrientPolyData&) = delete;
103
104 void TraverseAndOrder(vtkPolyData* input, vtkPolyData* output, vtkIdList* wave, vtkIdList* wave2,
105 vtkIdList* cellPointIds, vtkIdList* cellIds, vtkIdList* neighborPointIds,
106 std::vector<char>& visited, vtkIdType& numFlips);
107};
108VTK_ABI_NAMESPACE_END
109
110#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:334
#define VTK_MARSHALAUTO