Skip to main content

parry3d/transformation/
mod.rs

1//! Transformation, simplification and decomposition of meshes.
2
3#[cfg(feature = "dim3")]
4pub(crate) use self::convex_hull2::convex_hull2_idx;
5#[cfg(feature = "dim2")]
6pub use self::convex_hull2::{convex_hull2 as convex_hull, convex_hull2_idx as convex_hull_idx};
7#[cfg(all(feature = "dim3", feature = "std"))]
8pub use self::convex_hull3::check_convex_hull;
9#[cfg(feature = "dim3")]
10pub use self::convex_hull3::{convex_hull, try_convex_hull, ConvexHullError};
11#[cfg(all(feature = "dim3", feature = "spade"))]
12pub use self::mesh_intersection::{
13    intersect_meshes, intersect_meshes_with_tolerances, MeshIntersectionError,
14    MeshIntersectionTolerances,
15};
16#[cfg(all(feature = "dim3", feature = "alloc"))]
17pub use self::volume_mesh::MeshEnclosure;
18#[cfg(all(feature = "alloc", any(feature = "dim3", feature = "spade")))]
19pub use self::volume_mesh::{volume_mesh, VolumeMesh, VolumeMeshParameters};
20
21pub use self::polygon_intersection::{
22    convex_polygons_intersection, convex_polygons_intersection_points,
23    convex_polygons_intersection_points_with_tolerances,
24    convex_polygons_intersection_with_tolerances, polygons_intersection,
25    polygons_intersection_points, PolygonIntersectionTolerances, PolygonsIntersectionError,
26    PolylinePointLocation,
27};
28
29mod convex_hull2;
30#[cfg(feature = "dim3")]
31mod convex_hull3;
32pub(crate) mod convex_hull_utils;
33
34mod polygon_intersection;
35/// Approximate convex decomposition using the VHACD algorithm.
36pub mod vhacd;
37#[cfg(all(feature = "alloc", any(feature = "dim3", feature = "spade")))]
38mod volume_mesh;
39/// Voxelization of a 2D polyline or 3D triangle mesh.
40pub mod voxelization;
41
42#[cfg(feature = "dim2")]
43pub(crate) mod ear_clipping;
44#[cfg(feature = "dim2")]
45pub(crate) mod hertel_mehlhorn;
46#[cfg(feature = "dim2")]
47pub use hertel_mehlhorn::{hertel_mehlhorn, hertel_mehlhorn_idx};
48#[cfg(all(feature = "dim3", feature = "spade"))]
49mod mesh_intersection;
50#[cfg(feature = "dim3")]
51mod to_outline;
52#[cfg(feature = "dim2")]
53mod to_polyline;
54mod to_trimesh;
55pub mod utils;
56
57#[cfg(feature = "wavefront")]
58mod wavefront;