Skip to main content

conspire/geometry/mesh/
mod.rs

1#[cfg(test)]
2pub mod test;
3
4mod base;
5mod connectivity;
6mod differential;
7mod from;
8mod into;
9mod quality;
10mod read;
11mod remesh;
12mod smooth;
13mod tessellation;
14mod write;
15
16pub use self::{
17    connectivity::{
18        Connectivities, Connectivity, polytopal::PolytopalConnectivity,
19        primitive::PrimitiveConnectivity,
20    },
21    differential::laplace::Weighting,
22    quality::metrics::Verdict,
23    read::Input,
24    remesh::{AnisotropicSizing, IsotropicSizing, Remeshing, RemeshingMetric},
25    smooth::Smoothing,
26    tessellation::Tessellation,
27    write::Output,
28};
29
30use crate::{
31    geometry::Coordinates,
32    math::{Graph, Set},
33};
34use std::cell::OnceCell;
35
36pub type NodeSets = Set<Vec<Vec<usize>>>;
37pub type SideSets = Set<Vec<Vec<(usize, usize)>>>;
38
39pub struct Mesh<const D: usize> {
40    connectivities: Connectivities,
41    coordinates: Set<Coordinates<D>>,
42    node_sets: NodeSets,
43    side_sets: SideSets,
44    nodes_elements: OnceCell<Vec<Vec<usize>>>,
45    nodes_nodes: OnceCell<Graph>,
46}