pub struct Pattern;Expand description
Copies the bodies bodies — solids, and sheets by one of their faces —
or does the features features again wherever frames puts them (see
Frames): in a row or a grid, round an axis, along a curve, at
points — the seed at the first, or where it is said to be — at the
offsets of a table, filling a flat face on a grid, or at the holes
features drilled. Linear and circular patterns are two of these, with
a dialog of their own (crate::LinearPattern,
crate::CircularPattern).
Copies are kept apart or combined as crate::LinearPattern’s are, a
feature as it combined, its cosmetic threads and its holes copied with
it; they are named pattern(P) and pattern(P,i,X) for the copy
labelled i — 1, 2, … along a curve, at points, at holes and
from a table; i.j in a grid or a fill.
Trait Implementations§
impl Copy for Pattern
Source§impl<'de> Deserialize<'de> for Pattern
impl<'de> Deserialize<'de> for Pattern
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 Pattern
impl Editable for Pattern
const INFO: OperationInfo = <Pattern as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Pattern as PartOperation>::Session>
type EditingState = FormState<<Pattern 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 Pattern
impl ModelOperation for Pattern
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &PatternArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &PatternArgs, ) -> 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 Pattern
impl Operation for Pattern
Source§const KIND: &'static str = <Pattern as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Pattern as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <Pattern as PartOperation>::Args
type Args = <Pattern 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 Pattern
impl PartOperation for Pattern
Source§fn new_args(_: &Context<'_>) -> PatternArgs
fn new_args(_: &Context<'_>) -> PatternArgs
At points still to pick, kept as new bodies.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &PatternArgs,
_: &FormState<()>,
) -> EditForm<'a, PatternArgs>
fn form<'a>( context: &'a Context<'a>, args: &PatternArgs, _: &FormState<()>, ) -> EditForm<'a, PatternArgs>
The bodies or the features, picked; where the copies go — which way, and what that way takes; and how to combine copies of bodies.
const INFO: OperationInfo
Source§type Args = PatternArgs
type Args = PatternArgs
Source§type Session = ()
type Session = ()
() for most.Source§fn run(ctx: &mut StepContext<'_>, args: &PatternArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &PatternArgs) -> GeopResult<()>
ctx (see
StepContext::produce).