VTK  9.2.6
vtkCookieCutter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkCookieCutter.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
55#ifndef vtkCookieCutter_h
56#define vtkCookieCutter_h
57
58#include "vtkFiltersModelingModule.h" // For export macro
60
61class VTKFILTERSMODELING_EXPORT vtkCookieCutter : public vtkPolyDataAlgorithm
62{
63public:
65
70 void PrintSelf(ostream& os, vtkIndent indent) override;
72
82
84
93
95
99 vtkSetMacro(PassCellData, bool);
100 vtkGetMacro(PassCellData, bool);
101 vtkBooleanMacro(PassCellData, bool);
103
105
113 vtkSetMacro(PassPointData, bool);
114 vtkGetMacro(PassPointData, bool);
115 vtkBooleanMacro(PassPointData, bool);
117
119 {
120 USE_MESH_EDGES = 0,
121 USE_LOOP_EDGES = 1
122 };
123
125
131 vtkSetClampMacro(PointInterpolation, int, USE_MESH_EDGES, USE_LOOP_EDGES);
132 vtkGetMacro(PointInterpolation, int);
133 void SetPointInterpolationToMeshEdges() { this->SetPointInterpolation(USE_MESH_EDGES); }
134 void SetPointInterpolationToLoopEdges() { this->SetPointInterpolation(USE_LOOP_EDGES); }
136
138
143 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
145
151
152protected:
155
159
163
165
166private:
167 vtkCookieCutter(const vtkCookieCutter&) = delete;
168 void operator=(const vtkCookieCutter&) = delete;
169};
170
171#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
Definition: vtkDataObject.h:66
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.