VTK  9.4.20241114
vtkCookieCutter.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
43#ifndef vtkCookieCutter_h
44#define vtkCookieCutter_h
45
46#include "vtkFiltersModelingModule.h" // For export macro
48
49VTK_ABI_NAMESPACE_BEGIN
50class VTKFILTERSMODELING_EXPORT vtkCookieCutter : public vtkPolyDataAlgorithm
51{
52public:
54
59 void PrintSelf(ostream& os, vtkIndent indent) override;
61
71
73
82
84
88 vtkSetMacro(PassCellData, bool);
89 vtkGetMacro(PassCellData, bool);
90 vtkBooleanMacro(PassCellData, bool);
92
94
102 vtkSetMacro(PassPointData, bool);
103 vtkGetMacro(PassPointData, bool);
104 vtkBooleanMacro(PassPointData, bool);
106
108 {
109 USE_MESH_EDGES = 0,
110 USE_LOOP_EDGES = 1
111 };
112
114
120 vtkSetClampMacro(PointInterpolation, int, USE_MESH_EDGES, USE_LOOP_EDGES);
121 vtkGetMacro(PointInterpolation, int);
122 void SetPointInterpolationToMeshEdges() { this->SetPointInterpolation(USE_MESH_EDGES); }
123 void SetPointInterpolationToLoopEdges() { this->SetPointInterpolation(USE_LOOP_EDGES); }
125
127
132 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
134
140
141protected:
144
148
152
154
155private:
156 vtkCookieCutter(const vtkCookieCutter&) = delete;
157 void operator=(const vtkCookieCutter&) = delete;
158};
159
160VTK_ABI_NAMESPACE_END
161#endif
Proxy object to connect input/output ports.
cut vtkPolyData defined on the 2D plane with one or more polygons
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void CreateDefaultLocator()
Create default locator.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print and provide type information.
vtkIncrementalPointLocator * Locator
vtkDataObject * GetLoops()
Specify the a second vtkPolyData input which defines trim loops used to cut the input polygonal data.
vtkAlgorithmOutput * GetLoopsConnection()
void SetLoopsConnection(vtkAlgorithmOutput *algOutput)
Specify the a second vtkPolyData input which defines trim loops used to cut the input polygonal data.
static vtkCookieCutter * New()
Standard methods to instantiate, print and provide type information.
void SetPointInterpolationToMeshEdges()
If PassPointData is on, indicate how new point data is to generated at the intersection points betwee...
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void SetLocator(vtkIncrementalPointLocator *locator)
Specify a spatial locator for merging points.
~vtkCookieCutter() override
void SetLoopsData(vtkDataObject *loops)
Specify the a second vtkPolyData input which defines trim loops used to cut the input polygonal data.
void SetPointInterpolationToLoopEdges()
If PassPointData is on, indicate how new point data is to generated at the intersection points betwee...
general representation of visualization data
Abstract class in support of both point location and point insertion.
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.