79#ifndef vtkImprintFilter_h
80#define vtkImprintFilter_h
82#include "vtkFiltersModelingModule.h"
140 vtkGetMacro(Tolerance,
double);
151 RELATIVE_TO_PROJECTION_TOLERANCE = 1,
152 RELATIVE_TO_MIN_EDGE_LENGTH = 2
161 vtkSetClampMacro(MergeToleranceType,
int, ABSOLUTE, RELATIVE_TO_MIN_EDGE_LENGTH);
162 vtkGetMacro(MergeToleranceType,
int);
166 this->SetMergeToleranceType(RELATIVE_TO_PROJECTION_TOLERANCE);
170 this->SetMergeToleranceType(RELATIVE_TO_MIN_EDGE_LENGTH);
173 vtkGetMacro(MergeTolerance,
double);
180 PROJECTED_IMPRINT = 2,
181 IMPRINTED_REGION = 3,
199 vtkSetClampMacro(OutputType,
int, TARGET_CELLS, MERGED_IMPRINT);
200 vtkGetMacro(OutputType,
int);
216 vtkSetMacro(BoundaryEdgeInsertion,
bool);
217 vtkGetMacro(BoundaryEdgeInsertion,
bool);
218 vtkBooleanMacro(BoundaryEdgeInsertion,
bool);
224 TRIANGULATION_INPUT = 1,
225 TRIANGULATION_OUTPUT = 2
236 vtkSetMacro(TriangulateOutput,
bool);
237 vtkGetMacro(TriangulateOutput,
bool);
238 vtkBooleanMacro(TriangulateOutput,
bool);
250 vtkSetClampMacro(DebugOutputType,
int, NO_DEBUG_OUTPUT, TRIANGULATION_OUTPUT);
251 vtkGetMacro(DebugOutputType,
int);
Proxy object to connect input/output ports.
general representation of visualization data
Imprint the contact surface of one object onto another surface.
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.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
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...
bool BoundaryEdgeInsertion
void SetOutputTypeToImprintedCells()
Control what is output by the filter.
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)
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
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
perform fast cell location operations
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)