VTK
|
merge duplicate points, and/or remove unused points and/or remove degenerate cells More...
#include <vtkCleanPolyData.h>
Public Types | |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual int | IsA (const char *type) |
vtkCleanPolyData * | NewInstance () const |
void | CreateDefaultLocator (vtkPolyData *input=0) |
void | ReleaseLocator () |
unsigned long int | GetMTime () |
virtual void | OperateOnPoint (double in[3], double out[3]) |
virtual void | OperateOnBounds (double in[6], double out[6]) |
virtual void | SetPieceInvariant (int) |
virtual int | GetPieceInvariant () |
virtual void | PieceInvariantOn () |
virtual void | PieceInvariantOff () |
virtual void | SetToleranceIsAbsolute (int) |
virtual void | ToleranceIsAbsoluteOn () |
virtual void | ToleranceIsAbsoluteOff () |
virtual int | GetToleranceIsAbsolute () |
virtual void | SetTolerance (double) |
virtual double | GetTolerance () |
virtual void | SetAbsoluteTolerance (double) |
virtual double | GetAbsoluteTolerance () |
virtual void | SetConvertLinesToPoints (int) |
virtual void | ConvertLinesToPointsOn () |
virtual void | ConvertLinesToPointsOff () |
virtual int | GetConvertLinesToPoints () |
virtual void | SetConvertPolysToLines (int) |
virtual void | ConvertPolysToLinesOn () |
virtual void | ConvertPolysToLinesOff () |
virtual int | GetConvertPolysToLines () |
virtual void | SetConvertStripsToPolys (int) |
virtual void | ConvertStripsToPolysOn () |
virtual void | ConvertStripsToPolysOff () |
virtual int | GetConvertStripsToPolys () |
virtual void | SetPointMerging (int) |
virtual int | GetPointMerging () |
virtual void | PointMergingOn () |
virtual void | PointMergingOff () |
virtual void | SetLocator (vtkIncrementalPointLocator *locator) |
virtual vtkIncrementalPointLocator * | GetLocator () |
Static Public Member Functions | |
static vtkCleanPolyData * | New () |
static int | IsTypeOf (const char *type) |
static vtkCleanPolyData * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkCleanPolyData () | |
~vtkCleanPolyData () | |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual int | RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
Protected Attributes | |
int | PointMerging |
double | Tolerance |
double | AbsoluteTolerance |
int | ConvertLinesToPoints |
int | ConvertPolysToLines |
int | ConvertStripsToPolys |
int | ToleranceIsAbsolute |
vtkIncrementalPointLocator * | Locator |
int | PieceInvariant |
merge duplicate points, and/or remove unused points and/or remove degenerate cells
vtkCleanPolyData is a filter that takes polygonal data as input and generates polygonal data as output. vtkCleanPolyData will merge duplicate points (within specified tolerance and if enabled), eliminate points that are not used in any cell, 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 78 of file vtkCleanPolyData.h.
typedef vtkPolyDataAlgorithm vtkCleanPolyData::Superclass |
Definition at line 83 of file vtkCleanPolyData.h.
|
protected |
|
protected |
|
static |
void vtkCleanPolyData::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
static |
|
virtual |
Reimplemented in vtkQuantizePolyDataPoints.
|
static |
|
protectedvirtual |
Reimplemented in vtkQuantizePolyDataPoints.
vtkCleanPolyData* vtkCleanPolyData::NewInstance | ( | ) | const |
|
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 |
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 |
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 |
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 |
Specify tolerance in terms of fraction of bounding box length. Default is 0.0.
|
virtual |
Specify tolerance in terms of fraction of bounding box length. Default is 0.0.
|
virtual |
Specify tolerance in absolute terms. Default is 1.0.
|
virtual |
Specify tolerance in absolute terms. Default is 1.0.
|
virtual |
Turn on/off conversion of degenerate lines to points. Default is On.
|
virtual |
Turn on/off conversion of degenerate lines to points. Default is On.
|
virtual |
Turn on/off conversion of degenerate lines to points. Default is On.
|
virtual |
Turn on/off conversion of degenerate lines to points. Default is On.
|
virtual |
Turn on/off conversion of degenerate polys to lines. Default is On.
|
virtual |
Turn on/off conversion of degenerate polys to lines. Default is On.
|
virtual |
Turn on/off conversion of degenerate polys to lines. Default is On.
|
virtual |
Turn on/off conversion of degenerate polys to lines. Default is On.
|
virtual |
Turn on/off conversion of degenerate strips to polys. Default is On.
|
virtual |
Turn on/off conversion of degenerate strips to polys. Default is On.
|
virtual |
Turn on/off conversion of degenerate strips to polys. Default is On.
|
virtual |
Turn on/off conversion of degenerate strips to polys. Default is On.
|
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 |
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 |
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 |
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 |
Set/Get a spatial locator for speeding the search process. By default an instance of vtkMergePoints is used.
|
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.
|
inline |
Release locator
Definition at line 149 of file vtkCleanPolyData.h.
unsigned long int vtkCleanPolyData::GetMTime | ( | ) |
Get the MTime of this object also considering the locator.
|
virtual |
Perform operation on a point
Reimplemented in vtkQuantizePolyDataPoints.
|
virtual |
Perform operation on bounds
Reimplemented in vtkQuantizePolyDataPoints.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Definition at line 178 of file vtkCleanPolyData.h.
|
protected |
Definition at line 179 of file vtkCleanPolyData.h.
|
protected |
Definition at line 180 of file vtkCleanPolyData.h.
|
protected |
Definition at line 181 of file vtkCleanPolyData.h.
|
protected |
Definition at line 182 of file vtkCleanPolyData.h.
|
protected |
Definition at line 183 of file vtkCleanPolyData.h.
|
protected |
Definition at line 184 of file vtkCleanPolyData.h.
|
protected |
Definition at line 185 of file vtkCleanPolyData.h.
|
protected |
Definition at line 187 of file vtkCleanPolyData.h.