geop_ops_sketch3d/lib.rs
1//! 3-D sketches as an operation of a program: [`AddSketch3d`] draws points, lines, arcs and splines in space — placed
2//! on the part's vertices, edges, faces and datums where the pointer hits
3//! them, or at typed coordinates — and constrains them (see
4//! [`geop_core_sketch::space`]). What it builds is a path for a sweep to run
5//! along, or a rail for one to follow: the sketch is a target of the part
6//! ([`geop_ops_model::sketch3d`]), a path as a whole.
7
8mod add_sketch3d;
9mod editor;
10mod icons;
11#[cfg(test)]
12mod regression_tests;
13#[cfg(any(test, feature = "testing"))]
14pub mod testing;
15#[cfg(test)]
16mod tests;
17
18pub use add_sketch3d::{AddSketch3d, AddSketch3dArgs, Reference3d, Sketch3dEditing, Target};
19pub use editor::{Sketch3dSession, Tool};
20
21use geop_core_editor::registry::Registry;
22use geop_core_math::geop_error::GeopResult;
23
24/// Adds what this crate offers an editor to `r`: the step adding a 3-D
25/// sketch.
26pub fn register(r: Registry) -> GeopResult<Registry> {
27 r.operation(AddSketch3d)
28}