pub struct Boolean;Expand description
Combines the solids named a and b into one solid named boolean(B)
for the operation B, consuming both.
Every face, edge and vertex that survives keeps its name. What the
boolean creates is named after what it was made from, see
geop_ops_booleans::naming — for example boolean(B,E1,E2,i,n) for the
i-th of the n points where edges E1 and E2 cross.
An empty result — intersecting solids that don’t overlap, say — is an
answer, not an error: both operands are consumed and no solid is named
boolean(B).
Trait Implementations§
impl Copy for Boolean
Source§impl<'de> Deserialize<'de> for Boolean
impl<'de> Deserialize<'de> for Boolean
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<S: Scalar> Operation<S> for Boolean
impl<S: Scalar> Operation<S> for Boolean
Source§type Args = BooleanArgs
type Args = BooleanArgs
Everything the operation needs, as plain, serializable design data.
Source§fn apply(
&self,
part: Part<S>,
operation_id: &str,
args: &BooleanArgs,
) -> GeopResult<Part<S>>
fn apply( &self, part: Part<S>, operation_id: &str, args: &BooleanArgs, ) -> GeopResult<Part<S>>
Applies the operation as the program step
operation_id, consuming
part and returning the part it produces. Everything the operation
creates is named after operation_id (see geop_core_part), so the
id has to be unique within a program. Read moreimpl StructuralPartialEq for Boolean
Auto Trait Implementations§
impl Freeze for Boolean
impl RefUnwindSafe for Boolean
impl Send for Boolean
impl Sync for Boolean
impl Unpin for Boolean
impl UnsafeUnpin for Boolean
impl UnwindSafe for Boolean
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more