This module reduces the number of triangles in the geometry by removing vertices in regions of the surface with low curvature.

It is an implementation of the method described in the paper:

  • Decimation of Triangle Meshes, W.J. Schroeder, J.A. Zarge and W.E. Lorensen, Computer Graphics 26, p. 26, 1992.
The module only handles geometries built from IndexedTriangleStripSets (Explorer or Inventor type).

The module is written by Wilfred Janssen,, Visualization Center, Academic Computing Services Amsterdam (SARA), Amsterdam, The Netherlands.


Port: Input
Type: Geometry
This is the incoming geometry that needs to be simplified.


Port: Decimation
Type: Dial
This is the decimation parameter. It determines the tolerance of the algorithm. When the decimation parameter is 0.0 only vertices that are in flat parts of the surface are removed. For higher values of the decimation parameter more vertices are removed, leading to greater reduction of the geometry.

The decimation parameter is the maximum distance a vertex can have to the average plane through neighboring vertices to be a candidate for removal.

Port: Convergence
Type: Dial
The decimation algorithm is an iterative procedure. In each pass the number of removed vertices gets smaller until in the last pass no vertices are removed. It can take a large number of passes before full convergence is reached, especially for large geometries. This parameter can be used to set a convergence limit; a value of zero corresponds to full convergence.

Port: Reduction
Type: Text
This is an output parameter that returns the reduction in the number of vertices as a decimal (smaller values correspond to larger reduction).

Port: Feature Angle
Type: Dial
This angle (measured in degrees) serves to identify features in the geometry. If the angle between adjacent triangles is larger than this angle, then the edge between them is considered a feature edge. Lower values conserve more edges, leading to lesser reduction of the geometry.

This widget is only enabled if the Keep Features option is switched on (otherwise all features are discarded in the reduced geometry).

Port: Keep Features
Type: Check Box
This option determines whether features (edges whose adjacent triangles subtend an angle larger than Feature Angle) should be preserved in the decimation process.

Port: Print Debug
Type: Option Menu
Menu Item: 0
Menu Item: 1
Menu Item: 2
This parameter determines the amount of textual output produced by the module. It is controlled via the Reporting menu on the module control panel. Its values can be Silent (0), Informative (1) or Verbose (2).


Port: Geometry
Type: Geometry
This is the reduced geometry.


The module only handles geometries built from IndexedTriangleStripSets (Explorer or Inventor type). The IsosurfaceLat and IsosurfacePyr modules produce output of this kind.


[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000