mirror of https://github.com/hannobraun/Fornjot
Add new-style curve geometry to `Geometry`
This commit is contained in:
parent
b6146dfd16
commit
99582c6319
|
@ -8,13 +8,14 @@ use crate::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
vertex::LocalVertexGeom, CurveGeom, LocalCurveGeom, Path, SurfaceGeom,
|
vertex::LocalVertexGeom, CurveGeom, CurveGeom2, LocalCurveGeom, Path,
|
||||||
VertexGeom,
|
SurfaceGeom, VertexGeom,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Geometric data that is associated with topological objects
|
/// Geometric data that is associated with topological objects
|
||||||
pub struct Geometry {
|
pub struct Geometry {
|
||||||
curve: BTreeMap<Handle<Curve>, CurveGeom>,
|
curve: BTreeMap<Handle<Curve>, CurveGeom>,
|
||||||
|
curve2: BTreeMap<Handle<Curve>, CurveGeom2>,
|
||||||
surface: BTreeMap<Handle<Surface>, SurfaceGeom>,
|
surface: BTreeMap<Handle<Surface>, SurfaceGeom>,
|
||||||
vertex: BTreeMap<Handle<Vertex>, VertexGeom>,
|
vertex: BTreeMap<Handle<Vertex>, VertexGeom>,
|
||||||
|
|
||||||
|
@ -30,6 +31,7 @@ impl Geometry {
|
||||||
pub fn new(topology: &Topology) -> Self {
|
pub fn new(topology: &Topology) -> Self {
|
||||||
let mut self_ = Self {
|
let mut self_ = Self {
|
||||||
curve: BTreeMap::new(),
|
curve: BTreeMap::new(),
|
||||||
|
curve2: BTreeMap::new(),
|
||||||
surface: BTreeMap::new(),
|
surface: BTreeMap::new(),
|
||||||
vertex: BTreeMap::new(),
|
vertex: BTreeMap::new(),
|
||||||
|
|
||||||
|
@ -116,6 +118,18 @@ impl Geometry {
|
||||||
self.curve.get(curve)
|
self.curve.get(curve)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// # Access the geometry of the provided curve
|
||||||
|
///
|
||||||
|
/// ## Implementation Note
|
||||||
|
///
|
||||||
|
/// There currently is an ongoing transition to a new geometry system. This
|
||||||
|
/// method returns the new-style geometry. Its name is temporary, while the
|
||||||
|
/// method returning the old-style geometry is still taking up the more
|
||||||
|
/// concise name.
|
||||||
|
pub fn of_curve_2(&self, curve: &Handle<Curve>) -> Option<&CurveGeom2> {
|
||||||
|
self.curve2.get(curve)
|
||||||
|
}
|
||||||
|
|
||||||
/// # Access the geometry of the provided surface
|
/// # Access the geometry of the provided surface
|
||||||
///
|
///
|
||||||
/// ## Panics
|
/// ## Panics
|
||||||
|
|
Loading…
Reference in New Issue