From a1d820dae390d4fb4e82a5e54d1ebe20cad588bc Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Thu, 4 Apr 2024 10:59:26 +0200 Subject: [PATCH 1/3] Panic, if user tries to redefine basis planes --- crates/fj-core/src/geometry/geometry.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/fj-core/src/geometry/geometry.rs b/crates/fj-core/src/geometry/geometry.rs index 10999dd99..783ff7dc1 100644 --- a/crates/fj-core/src/geometry/geometry.rs +++ b/crates/fj-core/src/geometry/geometry.rs @@ -69,6 +69,14 @@ impl Geometry { surface: Handle, geometry: SurfaceGeom, ) { + if self.surface.contains_key(&surface) + && (surface == self.xy_plane + || surface == self.xz_plane + || surface == self.yz_plane) + { + panic!("Attempting to redefine basis plane."); + } + self.surface.insert(surface, geometry); } From 421a5b67e60a8db0bce312df6fb718fc2ee6895d Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Thu, 4 Apr 2024 10:59:50 +0200 Subject: [PATCH 2/3] Update formatting --- crates/fj-core/src/layers/geometry.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/fj-core/src/layers/geometry.rs b/crates/fj-core/src/layers/geometry.rs index 1bfeaf893..f3659349b 100644 --- a/crates/fj-core/src/layers/geometry.rs +++ b/crates/fj-core/src/layers/geometry.rs @@ -25,7 +25,7 @@ impl Layer { ); } - /// Define the geometry of the provided surface + /// # Define the geometry of the provided surface pub fn define_surface( &mut self, surface: Handle, From 55b6296990b10ff06bf90a8118ae25c9dc748256 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Thu, 4 Apr 2024 11:01:01 +0200 Subject: [PATCH 3/3] Update documentation of `define_surface` --- crates/fj-core/src/layers/geometry.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/fj-core/src/layers/geometry.rs b/crates/fj-core/src/layers/geometry.rs index f3659349b..b23aa5cd2 100644 --- a/crates/fj-core/src/layers/geometry.rs +++ b/crates/fj-core/src/layers/geometry.rs @@ -26,6 +26,11 @@ impl Layer { } /// # Define the geometry of the provided surface + /// + /// ## Panics + /// + /// Panics, if the surface is a special pre-defined plane, like the basis + /// planes (xy-, xz-, or yz-plane). pub fn define_surface( &mut self, surface: Handle,