Click or drag to resize
DigitalRuneConvexDecomposition Class
Performs an approximate convex decomposition of an input mesh. (Not available on these platforms: Silverlight, Windows Phone 7, Xbox 360)
Inheritance Hierarchy
SystemObject
  DigitalRune.Geometry.MeshesConvexDecomposition

Namespace: DigitalRune.Geometry.Meshes
Assembly: DigitalRune.Geometry (in DigitalRune.Geometry.dll) Version: 1.18.0.0 (1.18.2.14427)
Syntax
public class ConvexDecomposition

The ConvexDecomposition type exposes the following members.

Constructors
  NameDescription
Public methodConvexDecomposition
Initializes a new instance of the ConvexDecomposition class.
Top
Methods
  NameDescription
Public methodCancelAsync
Cancels the current asynchronous decomposition process.
Public methodDecompose
Decomposes the specified mesh.
Public methodDecomposeAsync
Decomposes the specified mesh (asynchronously).
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyAllowedConcavity
Gets or sets the allowed concavity.
Public propertyDecomposition
Gets the convex decomposition of the mesh.
Public propertyEnableMultithreading
Gets or sets a value indicating whether multithreading is enabled. (Experimental!)
Public propertyIntermediateVertexLimit
Gets or sets the maximal of number vertices per convex part during the decomposition process.
Public propertyIsBusy
Gets or sets a value indicating whether an asynchronous decomposition is in progress.
Public propertySampleTriangleCenters
Gets or sets a value indicating whether triangle centers are used for concavity computation.
Public propertySampleTriangleVertices
Gets or sets a value indicating whether triangle vertices are used for concavity computation.
Public propertySkinWidth
Gets or sets the width of the skin of each convex part.
Public propertySmallIslandBoost
Gets or sets the small island boost factor.
Public propertyVertexLimit
Gets or sets the maximal number of vertices per convex part in the final result.
Top
Events
  NameDescription
Public eventCompleted
Occurs when an asynchronous decomposition (see DecomposeAsync(ITriangleMesh)) has completed.
Public eventProgressChanged
Occurs when a property value changes.
Top
Remarks

An approximate convex decomposition takes a mesh and computes a composite shape of convex polyhedra (see Decomposition) that resembles the original mesh.

To use this process: Create an instance of this class. Set decomposition parameters (like AllowedConcavity, VertexLimit, etc.). Then start the process with Decompose(ITriangleMesh) or DecomposeAsync(ITriangleMesh). After the decomposition has finished the result is available in the property Decomposition.

This class is not available in the Silverlight and the Xbox 360 compatible build of DigitalRune.Geometry.dll.

See Also