pub struct Revolve;Expand description
Revolves every region of a sketch a full turn around one of its lines,
into one solid named revolve(R) for the operation R — or, with
RevolveArgs::combine, combines that with another solid (see
Combine), the result named revolve(R) all the same.
Each region must touch the axis along an edge — a line whose endpoints the
constraints put on the axis (see Sketch::on_line), typically the axis
line itself — and lie entirely on one side of it, the same side for every
region. The rest of its boundary is the profile that sweeps out the
solid, and names it (see
geop_ops_extrude_revolve::revolve::revolve_at_oriented): with X a
piece of a sketch curve and P a joint of the sketch K, as for
super::Extrude,
revolve(R,K,X,q0)..q3: the faceXsweeps through each quarter turn, starting from the sketch plane;revolve(R,K,X,a0)..a3:Xitself at each quarter angle (a0is the profile where it was drawn);revolve(R,K,P,q0).. /revolve(R,K,P,a0)..: the circular edges and verticesPsweeps, andrevolve(R,K,P)for aPon the axis.
Trait Implementations§
impl Copy for Revolve
Source§impl<'de> Deserialize<'de> for Revolve
impl<'de> Deserialize<'de> for Revolve
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 Revolve
impl<S: Scalar> Operation<S> for Revolve
Source§type Args = RevolveArgs
type Args = RevolveArgs
Everything the operation needs, as plain, serializable design data.
Source§fn apply(
&self,
part: Part<S>,
operation_id: &str,
args: &RevolveArgs,
) -> GeopResult<Part<S>>
fn apply( &self, part: Part<S>, operation_id: &str, args: &RevolveArgs, ) -> 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 Revolve
Auto Trait Implementations§
impl Freeze for Revolve
impl RefUnwindSafe for Revolve
impl Send for Revolve
impl Sync for Revolve
impl Unpin for Revolve
impl UnsafeUnpin for Revolve
impl UnwindSafe for Revolve
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