Skip to main content

EdgeFlange

Struct EdgeFlange 

Source
pub struct EdgeFlange;
Expand description

Bends a flange up from the straight edge edge of a sheet-metal body, for the operation F: the body is consumed and rebuilt as edge_flange(F), every face, edge and vertex it had keeping its name except the edge, which the flange replaces.

edge is an edge of a flat face of the body on its outline (where the face meets a wall across the thickness), and the flange turns angle degrees towards that face’s side, length long as reference says, with its bend’s inner radius radius (the body’s own by default), set as position says. It runs along the edge from offset_start after the edge’s start to offset_end before its end (the edge running with its face on its left, seen from outside); where it is narrower than the edge, the body’s relief is cut beside the bend. An end of the edge that meets a bend already there keeps the body’s corner gap from it — or, with a closed corner, its flat reaches on to the other flange.

What it builds is named edge_flange(F,...): the bend bend, the flange’s flat face flange with its edges flange,line where the bend ends, flange,side0, flange,end and flange,side1 — and where a closed corner carries its flat past its bend, flange,corner0 or flange,corner1 on from its line; where the bend starts on the body line, the rest of the edge before and after, and the reliefs relief0,in, relief0,across, relief0,out (and relief1,...) — each a face’s name with a/b added, an edge’s or a wall’s as crate::thicken says.

Trait Implementations§

Source§

impl Clone for EdgeFlange

Source§

fn clone(&self) -> EdgeFlange

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 EdgeFlange

Source§

impl Debug for EdgeFlange

Source§

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

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

impl Default for EdgeFlange

Source§

fn default() -> EdgeFlange

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

impl<'de> Deserialize<'de> for EdgeFlange

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 EdgeFlange

Source§

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

Source§

type EditingState = FormState<<EdgeFlange 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 EdgeFlange

Source§

fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, _: &EdgeFlangeArgs, ) -> 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 EdgeFlange

Source§

const KIND: &'static str = <EdgeFlange as ::geop_core_editor::part_operation::PartOperation>::KIND

The name programs store its steps under.
Source§

type Args = <EdgeFlange 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 EdgeFlange

Source§

fn new_args(_: &Context<'_>) -> EdgeFlangeArgs

No edge yet: a right angle, half a unit long, material inside.

Source§

fn form<'a>( context: &'a Context<'a>, args: &EdgeFlangeArgs, _: &FormState<()>, ) -> EditForm<'a, EdgeFlangeArgs>

The edge, picked; angle and length; what the length is measured from and where the bend sits; the radius, if its own; and how far in from the edge’s ends.

Source§

const KIND: &'static str = "edge_flange"

The name programs store its steps under.
Source§

const INFO: OperationInfo

Source§

type Args = EdgeFlangeArgs

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: &EdgeFlangeArgs) -> 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 EdgeFlange

Source§

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

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 EdgeFlange

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.