pub struct Thicken;Expand description
Thickens the sheet the face named face stands in into a solid of walls
thickness thick, on the side of it asked for, for the operation T:
the sheet is consumed, the solid named thicken(T).
On one side, the sheet’s faces, edges and vertices keep their names and
bound the solid on that side; the inner copy of each X is
thicken(T,X), and along a free edge E of the sheet the wall is
thicken(T,E,side), the straight edge from a vertex V of it to its
copy thicken(T,V,side). On both sides, the sheet is first copied
half the thickness along its normals, each copy X' named
thicken(T,both,X) — and then that is thickened behind its normals,
named as above after X'.
Trait Implementations§
impl Copy for Thicken
Source§impl<'de> Deserialize<'de> for Thicken
impl<'de> Deserialize<'de> for Thicken
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 Thicken
impl Editable for Thicken
const INFO: OperationInfo = <Thicken as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Thicken as PartOperation>::Session>
type EditingState = FormState<<Thicken 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 Thicken
impl ModelOperation for Thicken
Source§fn build(
model: &mut NamedModel,
_: &Reader<'_>,
step: &str,
args: &ThickenArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, _: &Reader<'_>, step: &str, args: &ThickenArgs, ) -> 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 Thicken
impl Operation for Thicken
Source§const KIND: &'static str = <Thicken as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Thicken as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <Thicken as PartOperation>::Args
type Args = <Thicken 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 Thicken
impl PartOperation for Thicken
Source§fn new_args(context: &Context<'_>) -> ThickenArgs
fn new_args(context: &Context<'_>) -> ThickenArgs
The newest sheet, a tenth thick, behind its normals.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &ThickenArgs,
_: &FormState<()>,
) -> EditForm<'a, ThickenArgs>
fn form<'a>( context: &'a Context<'a>, args: &ThickenArgs, _: &FormState<()>, ) -> EditForm<'a, ThickenArgs>
The sheet, picked, the thickness and the side.
const INFO: OperationInfo
Source§type Args = ThickenArgs
type Args = ThickenArgs
Source§type Session = ()
type Session = ()
() for most.Source§fn run(ctx: &mut StepContext<'_>, args: &ThickenArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &ThickenArgs) -> GeopResult<()>
ctx (see
StepContext::produce).