diff --git a/crates/fj-core/src/geometry/curve.rs b/crates/fj-core/src/geometry/curve.rs index 392ef64cc..67ccd34d5 100644 --- a/crates/fj-core/src/geometry/curve.rs +++ b/crates/fj-core/src/geometry/curve.rs @@ -1,3 +1,5 @@ +use std::collections::BTreeMap; + use crate::{storage::Handle, topology::Surface}; use super::SurfacePath; @@ -22,7 +24,7 @@ pub struct CurveGeom { /// which is a prerequisite for making the required tooling practical: /// /// - pub definitions: Vec, + pub definitions: BTreeMap, LocalCurveGeom>, } impl CurveGeom { @@ -31,9 +33,10 @@ impl CurveGeom { path: SurfacePath, surface: Handle, ) -> Self { - Self { - definitions: vec![LocalCurveGeom { path, surface }], - } + let mut definitions = BTreeMap::new(); + definitions.insert(surface, LocalCurveGeom { path }); + + Self { definitions } } } @@ -42,7 +45,4 @@ impl CurveGeom { pub struct LocalCurveGeom { /// The path that defines the curve on its surface pub path: SurfacePath, - - /// The surface that the curve is defined on - pub surface: Handle, }