Skip to main content

conspire/geometry/mesh/
mod.rs

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