Skip to main content

monstertruck_meshing/
lib.rs

1//! Mesh algorithms: tessellation of CAD shapes, mesh analysis, and mesh optimization filters.
2
3#![cfg_attr(not(debug_assertions), deny(warnings))]
4#![deny(clippy::all, rust_2018_idioms)]
5#![warn(
6    missing_docs,
7    missing_debug_implementations,
8    trivial_casts,
9    trivial_numeric_casts,
10    unsafe_code,
11    unstable_features,
12    unused_import_braces,
13    unused_qualifications
14)]
15
16use common::*;
17
18/// re-export polymesh
19pub mod rexport_polymesh {
20    pub use monstertruck_mesh::*;
21}
22use monstertruck_mesh::{StandardVertex as Vertex, *};
23
24/// polygon mesh analyzers, including
25///
26/// - determines topological properties: connectivity, boundary extraction, or shell conditions (closed or oriented)
27/// - detects collisions between two meshes and extracts interference lines
28/// - investigates positional relations between mesh and point clouds.
29#[cfg(feature = "analyzers")]
30pub mod analyzers;
31mod common;
32/// Edits meshes. Add normals, optimizing data, and so on.
33#[cfg(feature = "filters")]
34pub mod filters;
35/// Tessellates shapes.
36#[cfg(feature = "tessellation")]
37pub mod tessellation;
38
39/// VTK Output
40#[cfg(feature = "vtk")]
41#[cfg(not(target_arch = "wasm32"))]
42pub mod vtk;
43
44/// This module contains all traits and re-exports `monstertruck_mesh`.
45pub mod prelude {
46    #[cfg(feature = "analyzers")]
47    pub use crate::analyzers::*;
48    #[cfg(feature = "filters")]
49    pub use crate::filters::*;
50    pub use crate::rexport_polymesh::*;
51    #[cfg(feature = "tessellation")]
52    pub use crate::tessellation::*;
53    #[cfg(feature = "vtk")]
54    #[cfg(not(target_arch = "wasm32"))]
55    pub use crate::vtk::*;
56}