Expand description
§dcel
Dynamic doubly-connected edge list (DCEL) in Rust.
A DCEL is a topological data structure that represents a partition of a surface into easily and quickly traversable vertices, edges, and faces, while making only minimal assumptions about their shapes. You can freely choose wherever the vertices should have two or more dimensions, or wheverer the edges are line segments or curved arcs.
Mathematically, DCEL is an implementation of ribbon graph: a graph where every edge is actually made of two half-edges directed in opposite (aka. darts) that are also cyclically ordered around every vertex, making it possible to rotate around a vertex by following one of them. This in turn also allows circulation around faces (the regions formed by the arrangement of edges). Because of their properties, these cyclic orderings are sometimes called rotations, together forming a rotation system.
§Usage
§Adding dependency
First, add dcel as a dependency to your Cargo.toml
[dependencies]
dcel = "0.8"§Documentation
See the documentation for more information
about dcel’s usage.
§Packaging
dcel is published as a crate on the
Crates.io registry.
§Contributing
We welcome issues and pull requests from anyone to our canonical repository on Codeberg.
§Licence
§Outbound licence
dcel is dual-licensed as under either of
at your option.
§Inbound licence
Unless you expressly state otherwise, any contribution intentionally submitted for inclusion in the work by you will be dual-licensed as described above, without any additional terms or conditions.
Structs§
- Dcel
- A doubly-connected edge list (DCEL).
- EdgeId
- A unique identifier to an edge made of an ascendingly sorted pair of half-edge ids.
- Face
- The data which describes a face.
- FaceId
- An index pointing to a face.
- Half
Edge - The data which describes a half-edge.
- Half
Edge Id - An index pointing to a half-edge.
- Half
Spokes Iter - Half
Spokes Reverse Iter - Half
Spokes Reverse Walker - Half
Spokes Walker - Spokes
Iter - Spokes
Reverse Iter - Spokes
Reverse Walker - Spokes
Walker - Vertex
- The data which describes a vertex.
- Vertex
Id - An index pointing to a vertex.