conspire/geometry/mesh/
mod.rs1#[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}