VTK  9.2.6
vtkImprintFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkImprintFilter.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=========================================================================*/
92
93#ifndef vtkImprintFilter_h
94#define vtkImprintFilter_h
95
96#include "vtkFiltersModelingModule.h" // For export macro
98
100
101class VTKFILTERSMODELING_EXPORT vtkImprintFilter : public vtkPolyDataAlgorithm
102{
103public:
105
110 void PrintSelf(ostream& os, vtkIndent indent) override;
112
119
121
129
137
139
146
148
153 vtkSetClampMacro(Tolerance, double, 0.0, VTK_FLOAT_MAX);
154 vtkGetMacro(Tolerance, double);
156
157 // Used to control how the merge tolerance is interpreted.
158 // ABSOLUTE_TOLERANCE is a tolerance expressed in world coordinates;
159 // RELATIVE_TO_TOLERANCE is a tolerance relative to the projection
160 // tolerance; and RELATIVE_TO_MIN_EDGE_LENGTH is a tolerance relative
161 // to the minimum edge length of the tool/imprint mesh.
168
170
176 vtkGetMacro(MergeToleranceType, int);
186 vtkSetClampMacro(MergeTolerance, double, 0.0, VTK_FLOAT_MAX);
187 vtkGetMacro(MergeTolerance, double);
189
198
200
213 vtkSetClampMacro(OutputType, int, TARGET_CELLS, MERGED_IMPRINT);
214 vtkGetMacro(OutputType, int);
221
223
230 vtkSetMacro(BoundaryEdgeInsertion, bool);
231 vtkGetMacro(BoundaryEdgeInsertion, bool);
232 vtkBooleanMacro(BoundaryEdgeInsertion, bool);
234
236
240 vtkSetMacro(PassCellData, bool);
241 vtkGetMacro(PassCellData, bool);
242 vtkBooleanMacro(PassCellData, bool);
244
246
254 vtkSetMacro(PassPointData, bool);
255 vtkGetMacro(PassPointData, bool);
256 vtkBooleanMacro(PassPointData, bool);
258
264
266
272 vtkGetMacro(PointInterpolation, int);
276
283
285
292 vtkSetMacro(TriangulateOutput, bool);
293 vtkGetMacro(TriangulateOutput, bool);
294 vtkBooleanMacro(TriangulateOutput, bool);
296
298
307 vtkGetMacro(DebugOutputType, int);
311 vtkSetMacro(DebugCellId, vtkIdType);
312 vtkGetMacro(DebugCellId, vtkIdType);
314
316
322
323protected:
326
327 double Tolerance;
331
335
339
342
345
346private:
347 vtkImprintFilter(const vtkImprintFilter&) = delete;
348 void operator=(const vtkImprintFilter&) = delete;
349};
350
351#endif
Proxy object to connect input/output ports.
general representation of visualization data
virtual void SetOutputType(int)
Control what is output by the filter.
void SetImprintData(vtkDataObject *imprint)
Specify the a second vtkPolyData input which defines the surface mesh with which to imprint the targe...
~vtkImprintFilter() override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual void SetMergeToleranceType(int)
Specify a tolerance which is used to determine whether two points are considered coincident to one an...
void SetPointInterpolationToImprintEdges()
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.
virtual void SetDebugOutputType(int)
The following methods support debugging.
vtkDataObject * GetImprint()
Specify the a second vtkPolyData input which defines the surface mesh with which to imprint the targe...
void SetOutputTypeToTargetCells()
Control what is output by the filter.
void SetMergeToleranceTypeToMinEdge()
Specify a tolerance which is used to determine whether two points are considered coincident to one an...
void SetOutputTypeToProjectedImprint()
Control what is output by the filter.
void SetMergeToleranceTypeToAbsolute()
Specify a tolerance which is used to determine whether two points are considered coincident to one an...
void SetDebugOutputTypeToNoDebugOutput()
Indicate whether the output should be triangulated.
void SetImprintConnection(vtkAlgorithmOutput *algOutput)
Specify the a second vtkPolyData input connection which defines the surface mesh with which to imprin...
void SetDebugOutputTypeToTriangulationOutput()
Indicate whether the output should be triangulated.
void SetDebugOutputTypeToTriangulationInput()
Indicate whether the output should be triangulated.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print and provide type information.
vtkPolyData * GetDebugOutput()
Get the output data (in the second output, if the DebugOutput != NO_DEBUG_OUTPUT).
void SetMergeToleranceTypeToRelativeToProjection()
Specify a tolerance which is used to determine whether two points are considered coincident to one an...
void SetOutputTypeToImprintedCells()
Control what is output by the filter.
void SetPointInterpolationToTargetEdges()
If PassPointData is on, indicate how new point data is to generated at the intersection points betwee...
vtkDataObject * GetTarget()
Specify the first vtkPolyData input which defines the surface mesh to imprint (i.e....
void SetTargetData(vtkDataObject *target)
Specify the first vtkPolyData input which defines the surface mesh to imprint (i.e....
static vtkImprintFilter * New()
Standard methods to instantiate, print and provide type information.
vtkAlgorithmOutput * GetImprintConnection()
vtkAlgorithmOutput * GetTargetConnection()
void SetOutputTypeToMergedImprint()
Control what is output by the filter.
void SetOutputTypeToImprintedRegion()
Control what is output by the filter.
double ComputeMergeTolerance(vtkPolyData *pdata)
virtual void SetPointInterpolation(int)
If PassPointData is on, indicate how new point data is to generated at the intersection points betwee...
void SetTargetConnection(vtkAlgorithmOutput *algOutput)
Specify the first vtkPolyData input connection which defines the surface mesh to imprint (i....
a simple class to control print indentation
Definition vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:85
perform fast cell location operations
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
int vtkIdType
Definition vtkType.h:332
#define VTK_FLOAT_MAX
Definition vtkType.h:163