pub struct Drive;Expand description
Drives joint coordinates by a time table: a motion study — see the module docs.
Trait Implementations§
impl Copy for Drive
Source§impl<'de> Deserialize<'de> for Drive
impl<'de> Deserialize<'de> for Drive
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Editable for Drive
impl Editable for Drive
const INFO: OperationInfo = <Drive as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Drive as PartOperation>::Session>
type EditingState = FormState<<Drive 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
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
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)
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 Operation for Drive
impl Operation for Drive
Source§const KIND: &'static str = <Drive as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Drive as ::geop_core_editor::part_operation::PartOperation>::KIND
The name programs store its steps under.
Source§type Args = <Drive as PartOperation>::Args
type Args = <Drive 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<()>
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 Drive
impl PartOperation for Drive
Source§fn new_args(context: &Context<'_>) -> MotionArgs
fn new_args(context: &Context<'_>) -> MotionArgs
The first joint coordinate of the part driven from where it is: an angle a whole turn, or up to its limit, over two seconds; a distance by one.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &MotionArgs,
editing: &FormState<MotionSession>,
) -> EditForm<'a, MotionArgs, MotionSession>
fn form<'a>( context: &'a Context<'a>, args: &MotionArgs, editing: &FormState<MotionSession>, ) -> EditForm<'a, MotionArgs, MotionSession>
The drivers, the time table — a row per keyframe, a column per driver — how many frames, and a time to show the motion at: the joints held at their values then, everything else giving way.
const INFO: OperationInfo
Source§type Args = MotionArgs
type Args = MotionArgs
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 = MotionSession
type Session = MotionSession
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: &MotionArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &MotionArgs) -> GeopResult<()>
Declares what the step produces, through
ctx (see
StepContext::produce).Source§fn begin_event(session: &mut Self::Session)
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.
impl StructuralPartialEq for Drive
Auto Trait Implementations§
impl Freeze for Drive
impl RefUnwindSafe for Drive
impl Send for Drive
impl Sync for Drive
impl Unpin for Drive
impl UnsafeUnpin for Drive
impl UnwindSafe for Drive
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more