pub struct Mirror;Expand description
Mirrors the bodies bodies — solids, and sheets by one of their faces —
or does the features features again mirrored, in a plane: a planar face, a datum plane, a frame’s plane. The mirror
image is a valid body of its own, its faces turned around so that they
face out again; the bodies themselves stay.
The image is kept as new bodies, or combined as geop_ops_model::Combine says —
joined to the bodies themselves, it makes a symmetric part of a half
built against the plane. Combined, the result is named mirror(M) for
the operation M; the image of each entity named X is named
mirror(M,X).
Trait Implementations§
impl Copy for Mirror
Source§impl<'de> Deserialize<'de> for Mirror
impl<'de> Deserialize<'de> for Mirror
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 Mirror
impl Editable for Mirror
const INFO: OperationInfo = <Mirror as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Mirror as PartOperation>::Session>
type EditingState = FormState<<Mirror 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 ModelOperation for Mirror
impl ModelOperation for Mirror
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &MirrorArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &MirrorArgs, ) -> 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 Mirror
impl Operation for Mirror
Source§const KIND: &'static str = <Mirror as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Mirror as ::geop_core_editor::part_operation::PartOperation>::KIND
The name programs store its steps under.
Source§type Args = <Mirror as PartOperation>::Args
type Args = <Mirror 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 Mirror
impl PartOperation for Mirror
Source§fn new_args(_: &Context<'_>) -> MirrorArgs
fn new_args(_: &Context<'_>) -> MirrorArgs
Mirrored in the origin’s yz plane, kept as a new body.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &MirrorArgs,
_: &FormState<()>,
) -> EditForm<'a, MirrorArgs>
fn form<'a>( context: &'a Context<'a>, args: &MirrorArgs, _: &FormState<()>, ) -> EditForm<'a, MirrorArgs>
The bodies or the features, and the plane, picked, and how to combine an image of bodies.
const INFO: OperationInfo
Source§type Args = MirrorArgs
type Args = MirrorArgs
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 = ()
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: &MirrorArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &MirrorArgs) -> GeopResult<()>
Declares what the step produces, through
ctx (see
StepContext::produce).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 Mirror
Auto Trait Implementations§
impl Freeze for Mirror
impl RefUnwindSafe for Mirror
impl Send for Mirror
impl Sync for Mirror
impl Unpin for Mirror
impl UnsafeUnpin for Mirror
impl UnwindSafe for Mirror
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