mesh-graph 0.6.0

Fast halfedge triangle mesh graph in pure Rust
Documentation
mod face;
mod halfedge;
mod vertex;

pub use face::*;
pub use halfedge::*;
pub use vertex::*;

use slotmap::{Key, KeyData, new_key_type};

new_key_type! { pub struct VertexId; }
new_key_type! { pub struct HalfedgeId; }
new_key_type! { pub struct FaceId; }

impl From<u128> for VertexId {
    fn from(value: u128) -> Self {
        KeyData::from_ffi(value as u64).into()
    }
}

impl From<VertexId> for u128 {
    fn from(value: VertexId) -> Self {
        value.data().as_ffi() as u128
    }
}