pub struct Extrude;Expand description
Extrudes every region of a sketch along the sketch plane’s normal, into
one solid named extrude(E) for the operation E.
The faces, edges and vertices are named after the sketch elements they
are swept from (see geop_ops_extrude_revolve::extrude::ExtrudeNames),
with X a piece of a sketch curve (c3, or c3#1 for the second piece
of an arc or circle split into several) and P a joint (p2 for a
sketch point, c3@1 where a curve was split) of the sketch K:
extrude(E,start)/extrude(E,end): the caps, on the sketch plane anddistanceaway from it.extrude(E,K,X): the side face swept byX;extrude(E,K,X,start)/extrude(E,K,X,end)its edges on the two caps.extrude(E,K,P): the edge swept byP;extrude(E,K,P,start)/extrude(E,K,P,end)its vertices.
With ExtrudeArgs::combine, the solid can instead be combined with
another one, see Combine — the result is extrude(E) either way.
A sketch of several regions gets one pair of caps per region,
extrude(E,start,K,c) / extrude(E,end,K,c) with c the lowest curve id
on the region’s outer boundary. The regions must not share a curve or a
point — every element names what is swept from it, so each can only be
swept once.
Trait Implementations§
impl Copy for Extrude
Source§impl<'de> Deserialize<'de> for Extrude
impl<'de> Deserialize<'de> for Extrude
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>,
Source§impl<S: Scalar> Operation<S> for Extrude
impl<S: Scalar> Operation<S> for Extrude
Source§fn handles(
&self,
before: &Part<S>,
args: &ExtrudeArgs,
) -> GeopResult<Vec<Handle>>
fn handles( &self, before: &Part<S>, args: &ExtrudeArgs, ) -> GeopResult<Vec<Handle>>
The distance, as a handle at the centre of the end cap that slides along the sketch plane’s normal.
Source§type Args = ExtrudeArgs
type Args = ExtrudeArgs
Source§fn apply(
&self,
part: Part<S>,
operation_id: &str,
args: &ExtrudeArgs,
) -> GeopResult<Part<S>>
fn apply( &self, part: Part<S>, operation_id: &str, args: &ExtrudeArgs, ) -> GeopResult<Part<S>>
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 Extrude
Auto Trait Implementations§
impl Freeze for Extrude
impl RefUnwindSafe for Extrude
impl Send for Extrude
impl Sync for Extrude
impl Unpin for Extrude
impl UnsafeUnpin for Extrude
impl UnwindSafe for Extrude
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
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>
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>
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