fj_core/objects/
mod.rs

1//! # Objects of a shape
2//!
3//! Objects, in Fornjot parlance, are the elements that make up shapes. Objects
4//! can reference each other, forming a directed acyclic graph (DAG).
5//!
6//! There are two top-level objects ([`Sketch`] and [`Solid`]) which represent
7//! whole shapes (2D and 3D, respectively), while all other objects are
8//! referenced (directly or indirectly) by these top-level objects.
9//!
10//! All objects are stored in centralized storage (see [`Objects`]) and referred
11//! to through a [`Handle`].
12//!
13//! [`Handle`]: crate::storage::Handle
14
15mod any_object;
16mod is_object;
17mod kinds;
18mod object_set;
19mod stores;
20
21pub use self::{
22    any_object::{AboutToBeStored, AnyObject, Bare, Form, Stored},
23    is_object::IsObject,
24    kinds::{
25        curve::Curve,
26        cycle::Cycle,
27        face::{Face, Handedness},
28        half_edge::HalfEdge,
29        region::Region,
30        shell::Shell,
31        sketch::Sketch,
32        solid::Solid,
33        surface::Surface,
34        vertex::Vertex,
35    },
36    object_set::{ObjectSet, ObjectSetIntoIter, ObjectSetIter},
37    stores::{Objects, Surfaces},
38};