Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
vtkCleanPolyData Class Reference
merge duplicate points and remove degenerate primitives.
More...
#include <vtkCleanPolyData.h>
Inheritance diagram for vtkCleanPolyData:
[legend]Collaboration diagram for vtkCleanPolyData:
[legend]List of all members.
Detailed Description
merge duplicate points and remove degenerate primitives.
-
Date:
-
2000/12/10 20:08:31
-
Revision:
-
1.42
vtkCleanPolyData is a filter that takes polygonal data as input and generates polygonal data as output. vtkCleanPolyData merges duplicate points (within specified tolerance), and if enabled transforms degenerate topology into appropriate form (for example, triangle is converted into line if two points of triangle are merged). Conversion of degenerate forms 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 this object will use the vtkMergePoints object to merge points (very fast). Otherwise the slower vtkPointLocator 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
-
Warning:
-
Merging points can alter topology, including introducing non-manifold forms. Tolerance should be chosen carefully to avoid these problems. Subclasses should handle OperateOnBounds as well as OperateOnPoint to ensure locator is correctly initialized (i.e. all modified points must lie inside modified bounds).
-
See also:
-
vtkQuantizePolyDataPoints
-
Examples:
-
vtkCleanPolyData (examples)
Definition at line 88 of file vtkCleanPolyData.h.
Constructor & Destructor Documentation
vtkCleanPolyData::vtkCleanPolyData |
( |
|
) |
[protected] |
|
vtkCleanPolyData::~vtkCleanPolyData |
( |
|
) |
[protected] |
|
vtkCleanPolyData::vtkCleanPolyData |
( |
const vtkCleanPolyData & |
|
) |
[inline, protected] |
|
Member Function Documentation
vtkCleanPolyData* vtkCleanPolyData::New |
( |
|
) |
[static] |
|
const char* vtkCleanPolyData::GetClassName |
( |
|
) |
[inline, virtual] |
|
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 vtkSource.
Reimplemented in vtkQuantizePolyDataPoints. |
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] |
|
virtual void vtkCleanPolyData::ToleranceIsAbsoluteOff |
( |
|
) |
[virtual] |
|
virtual int vtkCleanPolyData::GetToleranceIsAbsolute |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::SetTolerance |
( |
float |
|
) |
[virtual] |
|
|
Specify tolerance in terms of fraction of bounding box length. |
virtual float vtkCleanPolyData::GetTolerance |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::SetAbsoluteTolerance |
( |
float |
|
) |
[virtual] |
|
|
Specify tolerance in absolute terms |
virtual float vtkCleanPolyData::GetAbsoluteTolerance |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::SetConvertLinesToPoints |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off conversion of degenerate lines to points |
virtual void vtkCleanPolyData::ConvertLinesToPointsOn |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::ConvertLinesToPointsOff |
( |
|
) |
[virtual] |
|
virtual int vtkCleanPolyData::GetConvertLinesToPoints |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::SetConvertPolysToLines |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off conversion of degenerate polys to lines |
virtual void vtkCleanPolyData::ConvertPolysToLinesOn |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::ConvertPolysToLinesOff |
( |
|
) |
[virtual] |
|
virtual int vtkCleanPolyData::GetConvertPolysToLines |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::SetConvertStripsToPolys |
( |
int |
|
) |
[virtual] |
|
|
Turn on/off conversion of degenerate strips to polys |
virtual void vtkCleanPolyData::ConvertStripsToPolysOn |
( |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::ConvertStripsToPolysOff |
( |
|
) |
[virtual] |
|
virtual int vtkCleanPolyData::GetConvertStripsToPolys |
( |
|
) |
[virtual] |
|
|
Set/Get a spatial locator for speeding the search process. By default an instance of vtkMergePoints is used. |
void vtkCleanPolyData::CreateDefaultLocator |
( |
void |
|
) |
|
|
|
Create default locator. Used to create one when none is specified. |
void vtkCleanPolyData::ReleaseLocator |
( |
void |
|
) |
|
|
unsigned long int vtkCleanPolyData::GetMTime |
( |
|
) |
[virtual] |
|
|
Get the MTime of this object also considering the locator.
Reimplemented from vtkObject. |
virtual void vtkCleanPolyData::OperateOnPoint |
( |
float |
in[3], |
|
|
float |
out[3] |
|
) |
[virtual] |
|
virtual void vtkCleanPolyData::OperateOnBounds |
( |
float |
in[6], |
|
|
float |
out[6] |
|
) |
[virtual] |
|
void vtkCleanPolyData::operator= |
( |
const vtkCleanPolyData & |
|
) |
[inline, protected] |
|
void vtkCleanPolyData::Execute |
( |
|
) |
[protected, virtual] |
|
Member Data Documentation
float vtkCleanPolyData::Tolerance [protected]
|
|
float vtkCleanPolyData::AbsoluteTolerance [protected]
|
|
int vtkCleanPolyData::ConvertLinesToPoints [protected]
|
|
int vtkCleanPolyData::ConvertPolysToLines [protected]
|
|
int vtkCleanPolyData::ConvertStripsToPolys [protected]
|
|
int vtkCleanPolyData::ToleranceIsAbsolute [protected]
|
|
The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:46:55 2001 for VTK by
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001