Skip to content
This repository was archived by the owner on Jun 19, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/insert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ pub trait Insert: Sized {
type Inserted;

/// Insert the object into its respective store
#[must_use]
fn insert(self, services: &mut Services) -> Self::Inserted;
}

Expand Down
2 changes: 2 additions & 0 deletions crates/fj-core/src/operations/join/cycle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ use crate::{
/// Join a [`Cycle`] to another
pub trait JoinCycle {
/// Create a cycle that is joined to the provided edges
#[must_use]
fn add_joined_edges<Es>(&self, edges: Es, services: &mut Services) -> Self
where
Es: IntoIterator<Item = (Handle<HalfEdge>, Curve, [Point<1>; 2])>,
Expand Down Expand Up @@ -48,6 +49,7 @@ pub trait JoinCycle {
///
/// Maybe a custom trait that is implemented for `usize` and all range types
/// would be the best solution.
#[must_use]
fn join_to(
&self,
other: &Cycle,
Expand Down
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/merge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use super::UpdateSolid;
/// Merge two [`Solid`]s
pub trait Merge {
/// Merge this solid with another
#[must_use]
fn merge(&self, other: &Self) -> Self;
}

Expand Down
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/reverse/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ mod face;
/// Reverse the direction/orientation of an object
pub trait Reverse {
/// Reverse the direction/orientation of the object
#[must_use]
fn reverse(&self, services: &mut Services) -> Self;
}
3 changes: 3 additions & 0 deletions crates/fj-core/src/operations/update/cycle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use crate::{
/// Update a [`Cycle`]
pub trait UpdateCycle {
/// Add half-edges to the cycle
#[must_use]
fn add_half_edges(
&self,
half_edges: impl IntoIterator<Item = Handle<HalfEdge>>,
Expand All @@ -16,6 +17,7 @@ pub trait UpdateCycle {
/// # Panics
///
/// Panics, unless this operation replaces exactly one half-edge.
#[must_use]
fn replace_half_edge(
&self,
original: &Handle<HalfEdge>,
Expand All @@ -27,6 +29,7 @@ pub trait UpdateCycle {
/// # Panics
///
/// Panics, unless this operation updates exactly one half-edge.
#[must_use]
fn update_nth_half_edge(
&self,
index: usize,
Expand Down
2 changes: 2 additions & 0 deletions crates/fj-core/src/operations/update/edge.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ use crate::{
/// Update a [`HalfEdge`]
pub trait UpdateHalfEdge {
/// Update the start vertex of the half-edge
#[must_use]
fn replace_start_vertex(&self, start_vertex: Handle<Vertex>) -> Self;

/// Update the global form of the half-edge
#[must_use]
fn replace_global_form(&self, global_form: Handle<GlobalEdge>) -> Self;
}

Expand Down
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/update/face.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use crate::{
/// Update a [`Face`]
pub trait UpdateFace {
/// Replace the region of the face
#[must_use]
fn update_region(
&self,
f: impl FnOnce(&Handle<Region>) -> Handle<Region>,
Expand Down
2 changes: 2 additions & 0 deletions crates/fj-core/src/operations/update/region.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ use crate::{
/// Update a [`Region`]
pub trait UpdateRegion {
/// Update the exterior of the region
#[must_use]
fn update_exterior(
&self,
f: impl FnOnce(&Handle<Cycle>) -> Handle<Cycle>,
) -> Self;

/// Add the provides interiors to the region
#[must_use]
fn add_interiors(
&self,
interiors: impl IntoIterator<Item = Handle<Cycle>>,
Expand Down
3 changes: 3 additions & 0 deletions crates/fj-core/src/operations/update/shell.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,19 @@ use crate::{
/// Update a [`Shell`]
pub trait UpdateShell {
/// Add faces to the shell
#[must_use]
fn add_faces(&self, faces: impl IntoIterator<Item = Handle<Face>>) -> Self;

/// Update a face of the shell
#[must_use]
fn replace_face(
&self,
original: &Handle<Face>,
replacement: Handle<Face>,
) -> Self;

/// Remove a face from the shell
#[must_use]
fn remove_face(&self, handle: &Handle<Face>) -> Self;
}

Expand Down
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/update/sketch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use crate::{
/// Update a [`Sketch`]
pub trait UpdateSketch {
/// Add a region to the sketch
#[must_use]
fn add_region(&self, region: Handle<Region>) -> Self;
}

Expand Down
1 change: 1 addition & 0 deletions crates/fj-core/src/operations/update/solid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use crate::{
/// Update a [`Solid`]
pub trait UpdateSolid {
/// Add a shell to the solid
#[must_use]
fn add_shells(
&self,
shells: impl IntoIterator<Item = Handle<Shell>>,
Expand Down