#include <vtkCleanPolyData.h>
vtkCleanPolyData is a filter that takes polygonal data as input and generates polygonal data as output. vtkCleanPolyData can merge duplicate points (within specified tolerance and if enabled), eliminate points that are not used, and if enabled, transform degenerate cells into appropriate forms (for example, a triangle is converted into a line if two points of triangle are merged).
Conversion of degenerate cells is controlled by the flags ConvertLinesToPoints, ConvertPolysToLines, ConvertStripsToPolys which act cumulatively such that a degenerate strip may become a poly. The full set is Line with 1 points -> Vert (if ConvertLinesToPoints) Poly with 2 points -> Line (if ConvertPolysToLines) Poly with 1 points -> Vert (if ConvertPolysToLines && ConvertLinesToPoints) Strp with 3 points -> Poly (if ConvertStripsToPolys) Strp with 2 points -> Line (if ConvertStripsToPolys && ConvertPolysToLines) Strp with 1 points -> Vert (if ConvertStripsToPolys && ConvertPolysToLines && ConvertLinesToPoints)
If tolerance is specified precisely=0.0, then vtkCleanPolyData will use the vtkMergePoints object to merge points (which is faster). Otherwise the slower vtkIncrementalPointLocator is used. Before inserting points into the point locator, this class calls a function OperateOnPoint which can be used (in subclasses) to further refine the cleaning process. See vtkQuantizePolyDataPoints.
Note that merging of points can be disabled. In this case, a point locator will not be used, and points that are not used by any cells will be eliminated, but never merged.
Definition at line 72 of file vtkCleanPolyData.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkQuantizePolyDataPoints.
Definition at line 77 of file vtkCleanPolyData.h.
vtkCleanPolyData::vtkCleanPolyData | ( | ) | [protected] |
vtkCleanPolyData::~vtkCleanPolyData | ( | ) | [protected] |
static vtkCleanPolyData* vtkCleanPolyData::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkQuantizePolyDataPoints.
void vtkCleanPolyData::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkQuantizePolyDataPoints.
virtual const char* vtkCleanPolyData::GetClassName | ( | ) | [virtual] |
static int vtkCleanPolyData::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkQuantizePolyDataPoints.
virtual int vtkCleanPolyData::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkQuantizePolyDataPoints.
static vtkCleanPolyData* vtkCleanPolyData::SafeDownCast | ( | vtkObject * | o | ) | [static] |
virtual void vtkCleanPolyData::SetToleranceIsAbsolute | ( | int | ) | [virtual] |
By default ToleranceIsAbsolute is false and Tolerance is a fraction of Bounding box diagonal, if true, AbsoluteTolerance is used when adding points to locator (merging)
virtual void vtkCleanPolyData::ToleranceIsAbsoluteOn | ( | ) | [virtual] |
By default ToleranceIsAbsolute is false and Tolerance is a fraction of Bounding box diagonal, if true, AbsoluteTolerance is used when adding points to locator (merging)
virtual void vtkCleanPolyData::ToleranceIsAbsoluteOff | ( | ) | [virtual] |
By default ToleranceIsAbsolute is false and Tolerance is a fraction of Bounding box diagonal, if true, AbsoluteTolerance is used when adding points to locator (merging)
virtual int vtkCleanPolyData::GetToleranceIsAbsolute | ( | ) | [virtual] |
By default ToleranceIsAbsolute is false and Tolerance is a fraction of Bounding box diagonal, if true, AbsoluteTolerance is used when adding points to locator (merging)
virtual void vtkCleanPolyData::SetTolerance | ( | double | ) | [virtual] |
Specify tolerance in terms of fraction of bounding box length. Default is 0.0.
virtual double vtkCleanPolyData::GetTolerance | ( | ) | [virtual] |
Specify tolerance in terms of fraction of bounding box length. Default is 0.0.
virtual void vtkCleanPolyData::SetAbsoluteTolerance | ( | double | ) | [virtual] |
Specify tolerance in absolute terms. Default is 1.0.
virtual double vtkCleanPolyData::GetAbsoluteTolerance | ( | ) | [virtual] |
Specify tolerance in absolute terms. Default is 1.0.
virtual void vtkCleanPolyData::SetConvertLinesToPoints | ( | int | ) | [virtual] |
Turn on/off conversion of degenerate lines to points. Default is On.
virtual void vtkCleanPolyData::ConvertLinesToPointsOn | ( | ) | [virtual] |
Turn on/off conversion of degenerate lines to points. Default is On.
virtual void vtkCleanPolyData::ConvertLinesToPointsOff | ( | ) | [virtual] |
Turn on/off conversion of degenerate lines to points. Default is On.
virtual int vtkCleanPolyData::GetConvertLinesToPoints | ( | ) | [virtual] |
Turn on/off conversion of degenerate lines to points. Default is On.
virtual void vtkCleanPolyData::SetConvertPolysToLines | ( | int | ) | [virtual] |
Turn on/off conversion of degenerate polys to lines. Default is On.
virtual void vtkCleanPolyData::ConvertPolysToLinesOn | ( | ) | [virtual] |
Turn on/off conversion of degenerate polys to lines. Default is On.
virtual void vtkCleanPolyData::ConvertPolysToLinesOff | ( | ) | [virtual] |
Turn on/off conversion of degenerate polys to lines. Default is On.
virtual int vtkCleanPolyData::GetConvertPolysToLines | ( | ) | [virtual] |
Turn on/off conversion of degenerate polys to lines. Default is On.
virtual void vtkCleanPolyData::SetConvertStripsToPolys | ( | int | ) | [virtual] |
Turn on/off conversion of degenerate strips to polys. Default is On.
virtual void vtkCleanPolyData::ConvertStripsToPolysOn | ( | ) | [virtual] |
Turn on/off conversion of degenerate strips to polys. Default is On.
virtual void vtkCleanPolyData::ConvertStripsToPolysOff | ( | ) | [virtual] |
Turn on/off conversion of degenerate strips to polys. Default is On.
virtual int vtkCleanPolyData::GetConvertStripsToPolys | ( | ) | [virtual] |
Turn on/off conversion of degenerate strips to polys. Default is On.
virtual void vtkCleanPolyData::SetPointMerging | ( | int | ) | [virtual] |
Set/Get a boolean value that controls whether point merging is performed. If on, a locator will be used, and points laying within the appropriate tolerance may be merged. If off, points are never merged. By default, merging is on.
virtual int vtkCleanPolyData::GetPointMerging | ( | ) | [virtual] |
Set/Get a boolean value that controls whether point merging is performed. If on, a locator will be used, and points laying within the appropriate tolerance may be merged. If off, points are never merged. By default, merging is on.
virtual void vtkCleanPolyData::PointMergingOn | ( | ) | [virtual] |
Set/Get a boolean value that controls whether point merging is performed. If on, a locator will be used, and points laying within the appropriate tolerance may be merged. If off, points are never merged. By default, merging is on.
virtual void vtkCleanPolyData::PointMergingOff | ( | ) | [virtual] |
Set/Get a boolean value that controls whether point merging is performed. If on, a locator will be used, and points laying within the appropriate tolerance may be merged. If off, points are never merged. By default, merging is on.
virtual void vtkCleanPolyData::SetLocator | ( | vtkIncrementalPointLocator * | locator | ) | [virtual] |
Set/Get a spatial locator for speeding the search process. By default an instance of vtkMergePoints is used.
virtual vtkIncrementalPointLocator* vtkCleanPolyData::GetLocator | ( | ) | [virtual] |
Set/Get a spatial locator for speeding the search process. By default an instance of vtkMergePoints is used.
void vtkCleanPolyData::CreateDefaultLocator | ( | vtkPolyData * | input = 0 |
) |
Create default locator. Used to create one when none is specified.
void vtkCleanPolyData::ReleaseLocator | ( | ) | [inline] |
Release locator
Definition at line 143 of file vtkCleanPolyData.h.
unsigned long int vtkCleanPolyData::GetMTime | ( | ) | [virtual] |
Get the MTime of this object also considering the locator.
Reimplemented from vtkObject.
virtual void vtkCleanPolyData::OperateOnPoint | ( | double | in[3], | |
double | out[3] | |||
) | [virtual] |
Perform operation on a point
Reimplemented in vtkQuantizePolyDataPoints.
virtual void vtkCleanPolyData::OperateOnBounds | ( | double | in[6], | |
double | out[6] | |||
) | [virtual] |
Perform operation on bounds
Reimplemented in vtkQuantizePolyDataPoints.
virtual void vtkCleanPolyData::SetPieceInvariant | ( | int | ) | [virtual] |
virtual int vtkCleanPolyData::GetPieceInvariant | ( | ) | [virtual] |
virtual void vtkCleanPolyData::PieceInvariantOn | ( | ) | [virtual] |
virtual void vtkCleanPolyData::PieceInvariantOff | ( | ) | [virtual] |
virtual int vtkCleanPolyData::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkCleanPolyData::RequestInformation | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [protected, virtual] |
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkCleanPolyData::RequestUpdateExtent | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
int vtkCleanPolyData::PointMerging [protected] |
Definition at line 172 of file vtkCleanPolyData.h.
double vtkCleanPolyData::Tolerance [protected] |
Definition at line 173 of file vtkCleanPolyData.h.
double vtkCleanPolyData::AbsoluteTolerance [protected] |
Definition at line 174 of file vtkCleanPolyData.h.
int vtkCleanPolyData::ConvertLinesToPoints [protected] |
Definition at line 175 of file vtkCleanPolyData.h.
int vtkCleanPolyData::ConvertPolysToLines [protected] |
Definition at line 176 of file vtkCleanPolyData.h.
int vtkCleanPolyData::ConvertStripsToPolys [protected] |
Definition at line 177 of file vtkCleanPolyData.h.
int vtkCleanPolyData::ToleranceIsAbsolute [protected] |
Definition at line 178 of file vtkCleanPolyData.h.
vtkIncrementalPointLocator* vtkCleanPolyData::Locator [protected] |
Definition at line 179 of file vtkCleanPolyData.h.
int vtkCleanPolyData::PieceInvariant [protected] |
Definition at line 181 of file vtkCleanPolyData.h.