VTK  9.3.20240416
vtkDistancePolyDataFilter.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
50 #ifndef vtkDistancePolyDataFilter_h
51 #define vtkDistancePolyDataFilter_h
52 
53 #include "vtkFiltersGeneralModule.h" // For export macro
54 #include "vtkPolyDataAlgorithm.h"
55 
56 VTK_ABI_NAMESPACE_BEGIN
57 class VTKFILTERSGENERAL_EXPORT vtkDistancePolyDataFilter : public vtkPolyDataAlgorithm
58 {
59 public:
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
69  vtkSetMacro(SignedDistance, vtkTypeBool);
70  vtkGetMacro(SignedDistance, vtkTypeBool);
71  vtkBooleanMacro(SignedDistance, vtkTypeBool);
73 
75 
79  vtkSetMacro(NegateDistance, vtkTypeBool);
80  vtkGetMacro(NegateDistance, vtkTypeBool);
81  vtkBooleanMacro(NegateDistance, vtkTypeBool);
83 
85 
89  vtkSetMacro(ComputeSecondDistance, vtkTypeBool);
90  vtkGetMacro(ComputeSecondDistance, vtkTypeBool);
91  vtkBooleanMacro(ComputeSecondDistance, vtkTypeBool);
93 
101 
103 
110  vtkSetMacro(ComputeCellCenterDistance, vtkTypeBool);
111  vtkGetMacro(ComputeCellCenterDistance, vtkTypeBool);
112  vtkBooleanMacro(ComputeCellCenterDistance, vtkTypeBool);
114 
116 
120  vtkSetMacro(ComputeDirection, vtkTypeBool);
121  vtkGetMacro(ComputeDirection, vtkTypeBool);
122  vtkBooleanMacro(ComputeDirection, vtkTypeBool);
124 
125 protected:
128 
131 
132 private:
134  void operator=(const vtkDistancePolyDataFilter&) = delete;
135 
136  vtkTypeBool SignedDistance;
137  vtkTypeBool NegateDistance;
138  vtkTypeBool ComputeSecondDistance;
139  vtkTypeBool ComputeCellCenterDistance;
140  vtkTypeBool ComputeDirection;
141 };
142 
143 VTK_ABI_NAMESPACE_END
144 #endif
Computes the signed distance from one vtkPolyData to another.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkDistancePolyDataFilter * New()
vtkPolyData * GetSecondDistanceOutput()
Get the second output, which is a copy of the second input with an additional distance scalar field.
void GetPolyDataDistance(vtkPolyData *, vtkPolyData *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkDistancePolyDataFilter() override
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:181
int vtkTypeBool
Definition: vtkABI.h:64