diff --git a/crates/fj-core/src/algorithms/approx/curve.rs b/crates/fj-core/src/algorithms/approx/curve.rs index 8e80ac021..268388251 100644 --- a/crates/fj-core/src/algorithms/approx/curve.rs +++ b/crates/fj-core/src/algorithms/approx/curve.rs @@ -6,7 +6,7 @@ use fj_math::Point; use crate::{ geometry::{ - CurveBoundary, Geometry, GlobalPath, HalfEdgeGeom, SurfaceGeometry, + CurveBoundary, Geometry, GlobalPath, HalfEdgeGeom, SurfaceGeom, SurfacePath, }, storage::Handle, @@ -46,7 +46,7 @@ impl Approx for (&Handle, &HalfEdgeGeom, &Handle) { fn approx_curve( path: &SurfacePath, - surface: &SurfaceGeometry, + surface: &SurfaceGeom, boundary: CurveBoundary>, tolerance: impl Into, geometry: &Geometry, diff --git a/crates/fj-core/src/geometry/geometry.rs b/crates/fj-core/src/geometry/geometry.rs index cb6d3e02c..10999dd99 100644 --- a/crates/fj-core/src/geometry/geometry.rs +++ b/crates/fj-core/src/geometry/geometry.rs @@ -7,12 +7,12 @@ use crate::{ topology::{HalfEdge, Surface, Topology}, }; -use super::{GlobalPath, HalfEdgeGeom, SurfaceGeometry}; +use super::{GlobalPath, HalfEdgeGeom, SurfaceGeom}; /// Geometric data that is associated with topological objects pub struct Geometry { half_edge: BTreeMap, HalfEdgeGeom>, - surface: BTreeMap, SurfaceGeometry>, + surface: BTreeMap, SurfaceGeom>, xy_plane: Handle, xz_plane: Handle, @@ -33,21 +33,21 @@ impl Geometry { self_.define_surface_inner( self_.xy_plane.clone(), - SurfaceGeometry { + SurfaceGeom { u: GlobalPath::x_axis(), v: Vector::unit_y(), }, ); self_.define_surface_inner( self_.xz_plane.clone(), - SurfaceGeometry { + SurfaceGeom { u: GlobalPath::x_axis(), v: Vector::unit_z(), }, ); self_.define_surface_inner( self_.yz_plane.clone(), - SurfaceGeometry { + SurfaceGeom { u: GlobalPath::y_axis(), v: Vector::unit_z(), }, @@ -67,7 +67,7 @@ impl Geometry { pub(crate) fn define_surface_inner( &mut self, surface: Handle, - geometry: SurfaceGeometry, + geometry: SurfaceGeom, ) { self.surface.insert(surface, geometry); } @@ -88,24 +88,24 @@ impl Geometry { /// ## Panics /// /// Panics, if the geometry of the surface is not defined. - pub fn of_surface(&self, surface: &Handle) -> &SurfaceGeometry { + pub fn of_surface(&self, surface: &Handle) -> &SurfaceGeom { self.surface .get(surface) .expect("Expected geometry of surface to be defined") } /// Access the geometry of the xy-plane - pub fn xy_plane(&self) -> &SurfaceGeometry { + pub fn xy_plane(&self) -> &SurfaceGeom { self.of_surface(&self.xy_plane) } /// Access the geometry of the xz-plane - pub fn xz_plane(&self) -> &SurfaceGeometry { + pub fn xz_plane(&self) -> &SurfaceGeom { self.of_surface(&self.xz_plane) } /// Access the geometry of the yz-plane - pub fn yz_plane(&self) -> &SurfaceGeometry { + pub fn yz_plane(&self) -> &SurfaceGeom { self.of_surface(&self.yz_plane) } } diff --git a/crates/fj-core/src/geometry/mod.rs b/crates/fj-core/src/geometry/mod.rs index e9ec1e92a..f4db527be 100644 --- a/crates/fj-core/src/geometry/mod.rs +++ b/crates/fj-core/src/geometry/mod.rs @@ -11,5 +11,5 @@ pub use self::{ geometry::Geometry, half_edge::HalfEdgeGeom, path::{GlobalPath, SurfacePath}, - surface::SurfaceGeometry, + surface::SurfaceGeom, }; diff --git a/crates/fj-core/src/geometry/surface.rs b/crates/fj-core/src/geometry/surface.rs index aaa069653..164ffb017 100644 --- a/crates/fj-core/src/geometry/surface.rs +++ b/crates/fj-core/src/geometry/surface.rs @@ -6,7 +6,7 @@ use super::GlobalPath; /// The geometry that defines a surface #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)] -pub struct SurfaceGeometry { +pub struct SurfaceGeom { /// The u-axis of the surface pub u: GlobalPath, @@ -14,7 +14,7 @@ pub struct SurfaceGeometry { pub v: Vector<3>, } -impl SurfaceGeometry { +impl SurfaceGeom { /// Convert a point in surface coordinates to model coordinates pub fn point_from_surface_coords( &self, @@ -64,11 +64,11 @@ mod tests { use fj_math::{Line, Point, Vector}; use pretty_assertions::assert_eq; - use crate::geometry::{GlobalPath, SurfaceGeometry}; + use crate::geometry::{GlobalPath, SurfaceGeom}; #[test] fn point_from_surface_coords() { - let surface = SurfaceGeometry { + let surface = SurfaceGeom { u: GlobalPath::Line(Line::from_origin_and_direction( Point::from([1., 1., 1.]), Vector::from([0., 2., 0.]), @@ -84,7 +84,7 @@ mod tests { #[test] fn vector_from_surface_coords() { - let surface = SurfaceGeometry { + let surface = SurfaceGeom { u: GlobalPath::Line(Line::from_origin_and_direction( Point::from([1., 0., 0.]), Vector::from([0., 2., 0.]), diff --git a/crates/fj-core/src/layers/geometry.rs b/crates/fj-core/src/layers/geometry.rs index 8f88f5f20..1bfeaf893 100644 --- a/crates/fj-core/src/layers/geometry.rs +++ b/crates/fj-core/src/layers/geometry.rs @@ -1,7 +1,7 @@ //! Layer infrastructure for [`Geometry`] use crate::{ - geometry::{Geometry, HalfEdgeGeom, SurfaceGeometry}, + geometry::{Geometry, HalfEdgeGeom, SurfaceGeom}, storage::Handle, topology::{HalfEdge, Surface}, }; @@ -29,7 +29,7 @@ impl Layer { pub fn define_surface( &mut self, surface: Handle, - geometry: SurfaceGeometry, + geometry: SurfaceGeom, ) { let mut events = Vec::new(); self.process(DefineSurface { surface, geometry }, &mut events); @@ -64,7 +64,7 @@ impl Event for DefineHalfEdge { /// Define the geometry of a surface pub struct DefineSurface { surface: Handle, - geometry: SurfaceGeometry, + geometry: SurfaceGeom, } impl Command for DefineSurface { diff --git a/crates/fj-core/src/operations/build/surface.rs b/crates/fj-core/src/operations/build/surface.rs index 54d664063..aa2ba429d 100644 --- a/crates/fj-core/src/operations/build/surface.rs +++ b/crates/fj-core/src/operations/build/surface.rs @@ -1,7 +1,7 @@ use fj_math::{Point, Scalar, Vector}; use crate::{ - geometry::{GlobalPath, SurfaceGeometry}, + geometry::{GlobalPath, SurfaceGeom}, operations::insert::Insert, storage::Handle, topology::Surface, @@ -47,7 +47,7 @@ pub trait BuildSurface { core.layers.geometry.define_surface( surface.clone(), - SurfaceGeometry { + SurfaceGeom { u: u.into(), v: v.into(), }, diff --git a/crates/fj-core/src/operations/sweep/path.rs b/crates/fj-core/src/operations/sweep/path.rs index 800ed1a54..6f666e6b8 100644 --- a/crates/fj-core/src/operations/sweep/path.rs +++ b/crates/fj-core/src/operations/sweep/path.rs @@ -1,7 +1,7 @@ use fj_math::{Circle, Line, Vector}; use crate::{ - geometry::{GlobalPath, SurfaceGeometry, SurfacePath}, + geometry::{GlobalPath, SurfaceGeom, SurfacePath}, operations::build::BuildSurface, storage::Handle, topology::Surface, @@ -26,7 +26,7 @@ pub trait SweepSurfacePath { /// fn sweep_surface_path( &self, - surface: &SurfaceGeometry, + surface: &SurfaceGeom, path: impl Into>, core: &mut Core, ) -> Handle; @@ -35,7 +35,7 @@ pub trait SweepSurfacePath { impl SweepSurfacePath for SurfacePath { fn sweep_surface_path( &self, - surface: &SurfaceGeometry, + surface: &SurfaceGeom, path: impl Into>, core: &mut Core, ) -> Handle { diff --git a/crates/fj-core/src/validate/shell.rs b/crates/fj-core/src/validate/shell.rs index 7264babfd..42baef843 100644 --- a/crates/fj-core/src/validate/shell.rs +++ b/crates/fj-core/src/validate/shell.rs @@ -3,7 +3,7 @@ use std::{collections::BTreeMap, fmt}; use fj_math::{Point, Scalar}; use crate::{ - geometry::{CurveBoundary, Geometry, SurfaceGeometry}, + geometry::{CurveBoundary, Geometry, SurfaceGeom}, queries::{ AllHalfEdgesWithSurface, BoundingVerticesOfHalfEdge, SiblingOfHalfEdge, }, @@ -101,9 +101,9 @@ impl ShellValidationError { fn compare_curve_coords( edge_a: &Handle, - surface_a: &SurfaceGeometry, + surface_a: &SurfaceGeom, edge_b: &Handle, - surface_b: &SurfaceGeometry, + surface_b: &SurfaceGeom, geometry: &Geometry, config: &ValidationConfig, mismatches: &mut Vec, @@ -382,14 +382,14 @@ impl fmt::Display for CoincidentHalfEdgeVertices { /// Returns an [`Iterator`] of the distance at each sample. fn distances( edge_a: Handle, - surface_a: &SurfaceGeometry, + surface_a: &SurfaceGeom, edge_b: Handle, - surface_b: &SurfaceGeometry, + surface_b: &SurfaceGeom, geometry: &Geometry, ) -> impl Iterator { fn sample( percent: f64, - (edge, surface): (&Handle, &SurfaceGeometry), + (edge, surface): (&Handle, &SurfaceGeom), geometry: &Geometry, ) -> Point<3> { let [start, end] = geometry.of_half_edge(edge).boundary.inner;