VTK  9.3.1
vtkLinearCellExtrusionFilter.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
24 #ifndef vtkLinearCellExtrusionFilter_h
25 #define vtkLinearCellExtrusionFilter_h
26 
27 #include "vtkFiltersModelingModule.h" // For export macro
28 #include "vtkIncrementalPointLocator.h" // For vtkIncrementalPointLocator
29 #include "vtkPolyDataAlgorithm.h"
30 #include "vtkSmartPointer.h" // For smart pointer
31 
32 VTK_ABI_NAMESPACE_BEGIN
33 class VTKFILTERSMODELING_EXPORT vtkLinearCellExtrusionFilter : public vtkPolyDataAlgorithm
34 {
35 public:
37  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
41 
45  vtkSetMacro(ScaleFactor, double);
46  vtkGetMacro(ScaleFactor, double);
48 
50 
54  vtkSetMacro(UseUserVector, bool);
55  vtkGetMacro(UseUserVector, bool);
56  vtkBooleanMacro(UseUserVector, bool);
58 
60 
63  vtkSetVector3Macro(UserVector, double);
64  vtkGetVector3Macro(UserVector, double);
66 
68 
72  vtkSetMacro(MergeDuplicatePoints, bool);
73  vtkGetMacro(MergeDuplicatePoints, bool);
74  vtkBooleanMacro(MergeDuplicatePoints, bool);
76 
78 
82  vtkGetSmartPointerMacro(Locator, vtkIncrementalPointLocator);
83  vtkSetSmartPointerMacro(Locator, vtkIncrementalPointLocator);
85 
90  void CreateDefaultLocator();
91 
92 protected:
94  ~vtkLinearCellExtrusionFilter() override = default;
95 
97 
99 
100  double ScaleFactor = 1.0;
101  double UserVector[3] = { 0.0, 0.0, 1.0 };
102  bool UseUserVector = false;
103  bool MergeDuplicatePoints = false;
105 
106 private:
108  void operator=(const vtkLinearCellExtrusionFilter&) = delete;
109 };
110 
111 VTK_ABI_NAMESPACE_END
112 #endif
vtkSmartPointer< vtkIncrementalPointLocator > Locator
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Abstract class in support of both point location and point insertion.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
Store zero or more vtkInformation instances.
extrude polygonal data to create 3D cells from 2D cells
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.