fj_core/operations/sweep/
mod.rs

1//! Sweep objects along a path to create new objects
2//!
3//! Sweeps 1D or 2D objects along a straight path, creating a 2D or 3D object,
4//! respectively.
5
6mod cycle;
7mod face;
8mod half_edge;
9mod path;
10mod region;
11mod shell_face;
12mod sketch;
13mod vertex;
14
15pub use self::{
16    cycle::{SweepCycle, SweptCycle},
17    face::SweepFace,
18    half_edge::SweepHalfEdge,
19    path::SweepSurfacePath,
20    region::{SweepRegion, SweptRegion},
21    shell_face::{ShellExtendedBySweep, SweepFaceOfShell},
22    sketch::SweepSketch,
23    vertex::SweepVertex,
24};
25
26use std::collections::BTreeMap;
27
28use crate::{
29    objects::{Curve, Vertex},
30    storage::{Handle, ObjectId},
31};
32
33/// A cache used for sweeping
34#[derive(Default)]
35pub struct SweepCache {
36    /// Cache for curves
37    pub curves: BTreeMap<ObjectId, Handle<Curve>>,
38
39    /// Cache for vertices
40    pub vertices: BTreeMap<ObjectId, Handle<Vertex>>,
41}