Skip to main content

Sweep

Struct Sweep 

Source
pub struct Sweep;
Expand description

Sweeps the areas of a sketch — the profile — along the curves of another sketch or of a 3-D sketch — the path — into a solid named sweep(W) for the operation W, kept as a new body or combined with another solid (see Combine). Or, as faces (Output::Faces), sweeps the profile’s curves into faces standing on their own — the area’s outline, or a chain of curves enclosing nothing.

The path is the path sketch’s one chain of curves, or its one loop, which sweeps a ring, or an edge of the part — a 3-D sketch’s chain runs through space, and the profile turns with it as little as it can. The profile travels along it from where it is drawn, square to the path as it was there (see geop_lib_sweep::sweep_along): draw it at the start of the path, its plane across it. An open path starts at its end nearer the profile, a closed one at its joint nearest the profile. The path is tangent-continuous, except where two lines meet at an angle, which the sweep mitres.

Named after the profile’s elements — X a piece of a curve and P a joint of the profile sketch K, as for crate::Extrude — and the path’s — C a piece of a curve and J a joint of the path sketch L:

  • sweep(W,K,X,L,C): the face X sweeps along C;
  • sweep(W,K,X,L,J): X where the path passes J;
  • sweep(W,K,P,L,C) / sweep(W,K,P,L,J): the edge P sweeps along C, and its vertex at J;
  • sweep(W,start) / sweep(W,end): the caps of an open path.

Along an open path the profile can change as it goes (see Control): twisted and scaled evenly along the path, or shaped by one or two guide rails — sketches whose one chain of curves starts on the profile’s plane, at a point of the profile, and runs along beside the path: that point of the profile follows the rail, the whole profile turned and scaled with it. And it can keep facing the way it is drawn rather than turn with the path (Orientation::FixedNormal).

Trait Implementations§

Source§

impl Clone for Sweep

Source§

fn clone(&self) -> Sweep

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Sweep

Source§

impl Debug for Sweep

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Sweep

Source§

fn default() -> Sweep

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Sweep

Source§

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 Editable for Sweep

Source§

const INFO: OperationInfo = <Sweep as ::geop_core_editor::part_operation::PartOperation>::INFO

Source§

type EditingState = FormState<<Sweep as PartOperation>::Session>

What the editor keeps about a step while it is edited, beyond its arguments, starting from the default whenever a step is opened.
Source§

fn new_args(context: &Context<'_>) -> Self::Args

The arguments of a new step: sensible defaults, taking the part it is inserted into into account.
Source§

fn presentation( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, ) -> Form

What the editor shows while the step is edited. Never fails: an editor needs the form most exactly when the arguments do not build, so whatever is wrong is said in it.
Source§

fn process_user_event( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, event: Event, ) -> (Self::Args, Self::EditingState)

The step’s arguments and editing state after event.
Source§

impl ModelOperation for Sweep

Source§

fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &SweepArgs, ) -> GeopResult<()>

Builds the step step — what everything it makes is named after — into model, reading whatever else it builds on through reader, so the step is rebuilt when that changes.
Source§

impl Operation for Sweep

Source§

const KIND: &'static str = <Sweep as ::geop_core_editor::part_operation::PartOperation>::KIND

The name programs store its steps under.
Source§

type Args = <Sweep as PartOperation>::Args

What a step of the operation is given. It is saved with the program, so it names targets and elements, never holds their internal ids.
Source§

fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>

Declares what the step produces, through ctx (see StepContext::produce): cheap, since it runs in every run. What takes work is done in the makes, which run only when what they read changed.
Source§

impl PartOperation for Sweep

Source§

fn new_args(context: &Context<'_>) -> SweepArgs

The newest sketch along the sketch before it — joined to the newest solid if there is one.

Source§

fn form<'a>( context: &'a Context<'a>, args: &SweepArgs, _: &FormState<()>, ) -> EditForm<'a, SweepArgs>

The profile and the path, picked; the rails, if any; how the profile turns, twists and scales; whether a face; and how to combine.

Source§

const KIND: &'static str = "sweep"

The name programs store its steps under.
Source§

const INFO: OperationInfo

Source§

type Args = SweepArgs

What a step is given. It is saved with the program, so it names targets and elements, never holds their internal ids.
Source§

type Session = ()

What the editor keeps while a step is edited besides its arguments and the visuals selected: () for most.
Source§

fn run(ctx: &mut StepContext<'_>, args: &SweepArgs) -> GeopResult<()>

Declares what the step produces, through ctx (see StepContext::produce).
Source§

fn begin_event(session: &mut Self::Session)

What the session forgets at the start of every event, before the event is handled: nothing, by default.
Source§

fn canvas( context: &Context<'_>, edit: Edit<'_, Self::Args, Self::Session>, event: &CanvasEvent, )

What the pointer or a key did on the canvas: nothing, by default.
Source§

impl PartialEq for Sweep

Source§

fn eq(&self, other: &Sweep) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Sweep

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Sweep

Auto Trait Implementations§

§

impl Freeze for Sweep

§

impl RefUnwindSafe for Sweep

§

impl Send for Sweep

§

impl Sync for Sweep

§

impl Unpin for Sweep

§

impl UnsafeUnpin for Sweep

§

impl UnwindSafe for Sweep

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<O> ErasedEditable for O
where O: Editable,

Source§

fn info(&self) -> &'static OperationInfo

Source§

fn new_args(&self, context: &Context<'_>) -> Result<Value, GeopError>

Source§

fn initial_editing(&self) -> Box<dyn Any>

Source§

fn presentation( &self, context: &Context<'_>, args: &Value, editing: &(dyn Any + 'static), ) -> Result<Form, GeopError>

Source§

fn process_user_event( &self, context: &Context<'_>, args: &Value, editing: &(dyn Any + 'static), event: Event, ) -> Result<Edited, GeopError>

Source§

impl<O> ErasedOperation for O
where O: Operation,

Source§

fn kind(&self) -> &'static str

Source§

fn check_args(&self, args: &Value) -> Result<(), GeopError>

Whether args are arguments of the operation, as saved.
Source§

fn run(&self, ctx: &mut StepContext<'_>, args: &Value) -> Result<(), GeopError>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.