pub struct Chamfer;Expand description
Bevels the edges named edges of a solid with a chamfer distance into
both faces — or, with distance2, distance into the face on the left
of each edge as it runs (seen from outside the solid) and distance2
into the one on its right — for the operation C: the solid is consumed
and the result named chamfer(C), the bevel face of edge E
chamfer(C,E,chamfer), named like a Fillet’s otherwise. Any edge is
bevelled: a straight one between two planes and a circle around its
faces’ axis exactly, every other one along its tangent chain by chords
the distances into the faces, square to the edge.
Trait Implementations§
impl Copy for Chamfer
Source§impl<'de> Deserialize<'de> for Chamfer
impl<'de> Deserialize<'de> for Chamfer
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 Chamfer
impl Editable for Chamfer
const INFO: OperationInfo = <Chamfer as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Chamfer as PartOperation>::Session>
type EditingState = FormState<<Chamfer 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 Chamfer
impl ModelOperation for Chamfer
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &ChamferArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &ChamferArgs, ) -> 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 Chamfer
impl Operation for Chamfer
Source§const KIND: &'static str = <Chamfer as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Chamfer as ::geop_core_editor::part_operation::PartOperation>::KIND
The name programs store its steps under.
Source§type Args = <Chamfer as PartOperation>::Args
type Args = <Chamfer 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 Chamfer
impl PartOperation for Chamfer
Source§fn new_args(_: &Context<'_>) -> ChamferArgs
fn new_args(_: &Context<'_>) -> ChamferArgs
No edges yet, and a small distance, the same into both faces.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &ChamferArgs,
_: &FormState<()>,
) -> EditForm<'a, ChamferArgs>
fn form<'a>( context: &'a Context<'a>, args: &ChamferArgs, _: &FormState<()>, ) -> EditForm<'a, ChamferArgs>
The edges, picked, the distance, and whether the second face gets a distance of its own.
const INFO: OperationInfo
Source§type Args = ChamferArgs
type Args = ChamferArgs
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: &ChamferArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &ChamferArgs) -> 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 Chamfer
Auto Trait Implementations§
impl Freeze for Chamfer
impl RefUnwindSafe for Chamfer
impl Send for Chamfer
impl Sync for Chamfer
impl Unpin for Chamfer
impl UnsafeUnpin for Chamfer
impl UnwindSafe for Chamfer
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