pub struct Imprint;Expand description
Imprints the body tool onto the body body, keeping both: every face
of each is divided along the curves where the other’s boundary crosses
it, and nothing is taken away. With face, only that face of body is
divided, and tool stays as it is (see
geop_lib_booleans::imprint_on_face).
What the imprint creates is named as a boolean names it, imprint(I,..)
for the operation I; body’s edges along the curves keep those names,
and tool’s copies of them are named imprint(I,X) for the name X
they share (see geop_lib_booleans::imprint).
Trait Implementations§
impl Copy for Imprint
Source§impl<'de> Deserialize<'de> for Imprint
impl<'de> Deserialize<'de> for Imprint
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 Imprint
impl Editable for Imprint
const INFO: OperationInfo = <Imprint as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Imprint as PartOperation>::Session>
type EditingState = FormState<<Imprint 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 Imprint
impl ModelOperation for Imprint
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &ImprintArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &ImprintArgs, ) -> 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 Imprint
impl Operation for Imprint
Source§const KIND: &'static str = <Imprint as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Imprint as ::geop_core_editor::part_operation::PartOperation>::KIND
The name programs store its steps under.
Source§type Args = <Imprint as PartOperation>::Args
type Args = <Imprint 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 Imprint
impl PartOperation for Imprint
Source§fn new_args(context: &Context<'_>) -> ImprintArgs
fn new_args(context: &Context<'_>) -> ImprintArgs
The two newest solids, the newer imprinted on the older.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &ImprintArgs,
_: &FormState<()>,
) -> EditForm<'a, ImprintArgs>
fn form<'a>( context: &'a Context<'a>, args: &ImprintArgs, _: &FormState<()>, ) -> EditForm<'a, ImprintArgs>
The two bodies, picked, and the one face to divide, if only one.
const INFO: OperationInfo
Source§type Args = ImprintArgs
type Args = ImprintArgs
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: &ImprintArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &ImprintArgs) -> 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 Imprint
Auto Trait Implementations§
impl Freeze for Imprint
impl RefUnwindSafe for Imprint
impl Send for Imprint
impl Sync for Imprint
impl Unpin for Imprint
impl UnsafeUnpin for Imprint
impl UnwindSafe for Imprint
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