DcelMesh Class |
Namespace: DigitalRune.Geometry.Meshes
The DcelMesh type exposes the following members.
Name | Description | |
---|---|---|
DcelMesh |
Initializes a new empty instance of the DcelMesh class.
| |
DcelMesh(DcelMesh) |
Initializes a new instance of the DcelMesh class that is a copy of the given
mesh.
|
Name | Description | |
---|---|---|
AreTagsEqualTo |
Gets a value indicating whether the tags of all components in the mesh are equal to the
given tag value.
| |
Contains |
Determines whether the specified point is contained in the mesh. (This method assumes that
the mesh is a convex polyhedron.)
| |
CreateCube |
Creates a mesh for unit cube.
| |
CutConvex |
Cuts mesh with a plane.
| |
Equals | (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
FromTriangleMesh(ITriangleMesh) |
Converts the given ITriangleMesh to a DcelMesh.
| |
FromTriangleMesh(TriangleMesh) |
Converts the given ITriangleMesh to a DcelMesh.
| |
GetAabb |
Gets the axis-aligned bounding box of this mesh.
| |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IsClosed |
Determines whether this mesh is a closed mesh.
| |
IsConvex |
Determines whether this mesh is a convex mesh.
| |
IsConvex(Single) |
Determines whether this mesh is a convex mesh using a specific tolerance.
| |
IsTriangleMesh |
Determines whether the mesh is a valid triangle mesh.
| |
IsValid |
Determines whether this instance is a valid mesh.
| |
IsValid(String) |
Determines whether this instance is a valid mesh and returns an error description.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ModifyConvex(Int32, Vector3F) |
Modifies a convex mesh by reducing the vertices and applying a skin width.
| |
ModifyConvex(Int32, Single) |
Modifies a convex mesh by reducing the vertices and applying a skin width.
| |
ResetTags |
Resets the tags in the DCEL data. (Tags are set to 0.)
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
ToTriangleMesh |
Converts this mesh to a TriangleMesh.
|
Name | Description | |
---|---|---|
Dirty |
Gets or sets a value indicating whether this DcelMesh is dirty.
| |
Edges |
Gets the edges (as a read-only list).
| |
Faces |
Gets the faces (as a read-only list).
| |
Vertex |
Gets or sets the vertex.
| |
Vertices |
Gets the vertices (as a read-only list).
|
This implementation follows the description of Doubly-Connected Edge Lists in the book "Computational Geometry", de Berg et al.
This class exposes one vertex of the mesh. Other mesh components can be found by navigating the DCEL data structures beginning at Vertex.
For convenience, component lists (Vertices, Edges and Faces) are automatically generated when required. Whenever the mesh is modified (components are added or removed), the flag Dirty must be set. Then the component list are automatically recreated the next time they are accessed.
Handling Tags: The DCEL data structures (DcelVertex, DcelEdge and DcelFace) have "tags" (integer properties) which can be used to mark components when navigating or modifying the mesh. This tags can be used by different operations that act on the mesh.