pub struct Explode;Expand description
Moves placed parts of the part off where they are assembled — see the module docs.
Trait Implementations§
impl Copy for Explode
Source§impl<'de> Deserialize<'de> for Explode
impl<'de> Deserialize<'de> for Explode
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 Editable for Explode
impl Editable for Explode
const INFO: OperationInfo = <Explode as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Explode as PartOperation>::Session>
type EditingState = FormState<<Explode 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
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
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)
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 Operation for Explode
impl Operation for Explode
Source§const KIND: &'static str = <Explode as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Explode as ::geop_core_editor::part_operation::PartOperation>::KIND
The name programs store its steps under.
Source§type Args = <Explode as PartOperation>::Args
type Args = <Explode 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<()>
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 Explode
impl PartOperation for Explode
Source§fn new_args(_: &Context<'_>) -> ExplodeArgs
fn new_args(_: &Context<'_>) -> ExplodeArgs
Nothing moved yet: straight up, trailed.
Source§fn run(ctx: &mut StepContext<'_>, args: &ExplodeArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &ExplodeArgs) -> GeopResult<()>
The move, and the lines trailing its parts.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &ExplodeArgs,
editing: &FormState<ExplodeSession>,
) -> EditForm<'a, ExplodeArgs, ExplodeSession>
fn form<'a>( context: &'a Context<'a>, args: &ExplodeArgs, editing: &FormState<ExplodeSession>, ) -> EditForm<'a, ExplodeArgs, ExplodeSession>
The parts moved, which way, how far and how far turned, and whether they trail lines; the parts lit, to drag.
Source§fn canvas(
context: &Context<'_>,
edit: Edit<'_, ExplodeArgs, ExplodeSession>,
event: &CanvasEvent,
)
fn canvas( context: &Context<'_>, edit: Edit<'_, ExplodeArgs, ExplodeSession>, event: &CanvasEvent, )
A hover lights the part a click takes in or out of the move; a drag of a part moved slides the parts along the direction, from the distance it began at.
const INFO: OperationInfo
Source§type Args = ExplodeArgs
type Args = ExplodeArgs
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 = ExplodeSession
type Session = ExplodeSession
What the editor keeps while a step is edited besides its arguments
and the visuals selected:
() for most.Source§fn begin_event(session: &mut Self::Session)
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.
impl StructuralPartialEq for Explode
Auto Trait Implementations§
impl Freeze for Explode
impl RefUnwindSafe for Explode
impl Send for Explode
impl Sync for Explode
impl Unpin for Explode
impl UnsafeUnpin for Explode
impl UnwindSafe for Explode
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