Skip to main content

Imprint

Struct Imprint 

Source
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§

Source§

impl Clone for Imprint

Source§

fn clone(&self) -> Imprint

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 Imprint

Source§

impl Debug for Imprint

Source§

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

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

impl Default for Imprint

Source§

fn default() -> Imprint

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

impl<'de> Deserialize<'de> for Imprint

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 Imprint

Source§

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

Source§

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

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 Imprint

Source§

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

Source§

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

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 Imprint

Source§

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>

The two bodies, picked, and the one face to divide, if only one.

Source§

const KIND: &'static str = "imprint"

The name programs store its steps under.
Source§

const INFO: OperationInfo

Source§

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 = ()

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<()>

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 Imprint

Source§

fn eq(&self, other: &Imprint) -> 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 Imprint

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 Imprint

Auto Trait Implementations§

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.