pub struct CircularPattern;Expand description
Copies the bodies bodies — solids, and sheets by one of their faces —
or does the features features again, turned around an axis: count instances, the bodies themselves the
first, each Spacing::Step degrees from the last, or spread evenly over
Spacing::Extent degrees — over a full turn of 360°, the last a step
short of coming round onto the first again. Turning goes
counter-clockwise looking against the axis, the other way if
reversed.
The axis is a line — a straight edge, an axis, a sketch line — or what a round entity turns around: a circular edge, a cylindrical face.
Copies are held apart or combined — a feature as it combined — and named as
crate::LinearPattern does, as
circular_pattern(P) and circular_pattern(P,i,X).
Trait Implementations§
Source§impl Clone for CircularPattern
impl Clone for CircularPattern
Source§fn clone(&self) -> CircularPattern
fn clone(&self) -> CircularPattern
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CircularPattern
Source§impl Debug for CircularPattern
impl Debug for CircularPattern
Source§impl Default for CircularPattern
impl Default for CircularPattern
Source§fn default() -> CircularPattern
fn default() -> CircularPattern
Source§impl<'de> Deserialize<'de> for CircularPattern
impl<'de> Deserialize<'de> for CircularPattern
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 CircularPattern
impl Editable for CircularPattern
const INFO: OperationInfo = <CircularPattern as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<CircularPattern as PartOperation>::Session>
type EditingState = FormState<<CircularPattern 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 CircularPattern
impl ModelOperation for CircularPattern
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &CircularPatternArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &CircularPatternArgs, ) -> 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 CircularPattern
impl Operation for CircularPattern
Source§const KIND: &'static str = <CircularPattern as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <CircularPattern as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <CircularPattern as PartOperation>::Args
type Args = <CircularPattern 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 CircularPattern
impl PartOperation for CircularPattern
Source§fn new_args(_: &Context<'_>) -> CircularPatternArgs
fn new_args(_: &Context<'_>) -> CircularPatternArgs
Four times around the origin’s z axis, kept as new bodies.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &CircularPatternArgs,
_: &FormState<()>,
) -> EditForm<'a, CircularPatternArgs>
fn form<'a>( context: &'a Context<'a>, args: &CircularPatternArgs, _: &FormState<()>, ) -> EditForm<'a, CircularPatternArgs>
The bodies or the features, and the axis, picked; the count and the angles; and how to combine copies of bodies.
const INFO: OperationInfo
Source§type Args = CircularPatternArgs
type Args = CircularPatternArgs
Source§type Session = ()
type Session = ()
() for most.Source§fn run(ctx: &mut StepContext<'_>, args: &CircularPatternArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &CircularPatternArgs) -> GeopResult<()>
ctx (see
StepContext::produce).