pub struct Hem;Expand description
Folds the straight edge edge of a sheet-metal body right back on
itself, for the operation H: a bend of half a turn and a flat lying
back over the sheet, the fold’s outside where the edge was — the sheet
set back by the fold’s outer radius — and the hem length long from
there. The body is consumed and rebuilt as hem(H), its entities named
as crate::EdgeFlange names a flange’s, hem(H,bend),
hem(H,flange), …
edge is an edge of a flat face on the body’s outline, and the hem
folds towards that face’s side. kind says how tight (gap is the
space between an open hem and the sheet), and offset_start /
offset_end how far in from the edge’s ends it runs, the body’s relief
beside it where it does not reach them.
Trait Implementations§
impl Copy for Hem
Source§impl<'de> Deserialize<'de> for Hem
impl<'de> Deserialize<'de> for Hem
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>,
Source§impl Editable for Hem
impl Editable for Hem
const INFO: OperationInfo = <Hem as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Hem as PartOperation>::Session>
type EditingState = FormState<<Hem as PartOperation>::Session>
Source§fn new_args(context: &Context<'_>) -> Self::Args
fn new_args(context: &Context<'_>) -> Self::Args
Source§fn presentation(
context: &Context<'_>,
args: &Self::Args,
editing: &Self::EditingState,
) -> Form
fn presentation( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, ) -> Form
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)
event.Source§impl ModelOperation for Hem
impl ModelOperation for Hem
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
_: &HemArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, _: &HemArgs, ) -> GeopResult<()>
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 Hem
impl Operation for Hem
Source§const KIND: &'static str = <Hem as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Hem as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <Hem as PartOperation>::Args
type Args = <Hem as PartOperation>::Args
Source§fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>
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 Hem
impl PartOperation for Hem
Source§fn form<'a>(
context: &'a Context<'a>,
args: &HemArgs,
_: &FormState<()>,
) -> EditForm<'a, HemArgs>
fn form<'a>( context: &'a Context<'a>, args: &HemArgs, _: &FormState<()>, ) -> EditForm<'a, HemArgs>
The edge, picked; how tight, and the gap if open; how long; and how far in from the edge’s ends.
const INFO: OperationInfo
Source§type Args = HemArgs
type Args = HemArgs
Source§type Session = ()
type Session = ()
() for most.Source§fn run(ctx: &mut StepContext<'_>, args: &HemArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &HemArgs) -> GeopResult<()>
ctx (see
StepContext::produce).