VTK  9.7.1
vtkFeatureEdgesDispatcher.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
3 // SPDX-License-Identifier: BSD-3-Clause
19 #ifndef vtkFeatureEdgesDispatcher_h
20 #define vtkFeatureEdgesDispatcher_h
21 
22 #include "vtkFiltersHyperTreeModule.h" // needed for export macro
23 #include "vtkPolyDataAlgorithm.h"
24 
25 VTK_ABI_NAMESPACE_BEGIN
26 
27 class VTKFILTERSHYPERTREE_EXPORT vtkFeatureEdgesDispatcher : public vtkPolyDataAlgorithm
28 {
29 
30 public:
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
40  vtkSetMacro(BoundaryEdges, bool);
41  vtkGetMacro(BoundaryEdges, bool);
42  vtkBooleanMacro(BoundaryEdges, bool);
44 
46 
52  vtkSetMacro(FeatureEdges, bool);
53  vtkGetMacro(FeatureEdges, bool);
54  vtkBooleanMacro(FeatureEdges, bool);
56 
58 
64  vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
65  vtkGetMacro(FeatureAngle, double);
67 
69 
75  vtkSetMacro(NonManifoldEdges, bool);
76  vtkGetMacro(NonManifoldEdges, bool);
77  vtkBooleanMacro(NonManifoldEdges, bool);
79 
81 
88  vtkSetMacro(ManifoldEdges, bool);
89  vtkGetMacro(ManifoldEdges, bool);
90  vtkBooleanMacro(ManifoldEdges, bool);
92 
94 
100  vtkSetMacro(Coloring, bool);
101  vtkGetMacro(Coloring, bool);
102  vtkBooleanMacro(Coloring, bool);
104 
106 
114  vtkSetMacro(MergePoints, bool);
115  vtkGetMacro(MergePoints, bool);
117 
118 protected:
119  vtkFeatureEdgesDispatcher() = default;
120  ~vtkFeatureEdgesDispatcher() override = default;
121 
123  int FillInputPortInformation(int, vtkInformation*) override;
124 
125 private:
127  void operator=(const vtkFeatureEdgesDispatcher&) = delete;
128 
129  // PolyData input options
130  double FeatureAngle = 30.0;
131  bool BoundaryEdges = true;
132  bool FeatureEdges = true;
133  bool NonManifoldEdges = true;
134  bool ManifoldEdges = false;
135  bool Coloring = false;
136 
137  // HTG options
138  bool MergePoints = false;
139 };
140 
141 VTK_ABI_NAMESPACE_END
142 
143 #endif
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Feature Edges filter that delegates to type specific implementations.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.