pub struct MotionStudy {
pub drivers: Vec<String>,
pub keys: Vec<Vec<f64>>,
pub frames: usize,
}Expand description
Joint coordinates driven by a time table: their values at keyframes,
and between two keyframes the straight line between them. A motion runs
from its first keyframe’s time to its last’s, and is played, checked
and exported at frames times evenly apart over that.
Fields§
§drivers: Vec<String>The coordinates driven, by the names of their states:
add_part(fore,m1).angle.
keys: Vec<Vec<f64>>The keyframes, each its time — in seconds — and then a value per driver, in its own units: degrees for an angle.
frames: usizeHow many frames it is played at, checked and exported at: at least two, its first keyframe and its last.
Implementations§
Source§impl MotionStudy
impl MotionStudy
Sourcepub fn validate(&self) -> GeopResult<()>
pub fn validate(&self) -> GeopResult<()>
Checks it is one: keyframes a time and a value for every driver each, later each than the one before, and frames enough to start and end.
Trait Implementations§
Source§impl Clone for MotionStudy
impl Clone for MotionStudy
Source§fn clone(&self) -> MotionStudy
fn clone(&self) -> MotionStudy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MotionStudy
impl Debug for MotionStudy
Source§impl<'de> Deserialize<'de> for MotionStudy
impl<'de> Deserialize<'de> for MotionStudy
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 HasElements<MotionStudy> for MotionStudy
impl HasElements<MotionStudy> for MotionStudy
Source§type Element<'a> = &'a MotionStudy
type Element<'a> = &'a MotionStudy
What an element resolves to: a borrow of it, or what it gives.
Source§fn element(&self, name: &str) -> GeopResult<&MotionStudy>
fn element(&self, name: &str) -> GeopResult<&MotionStudy>
The element
name, or why there is none.Source§fn names_target(name: &str) -> bool
fn names_target(name: &str) -> bool
Whether the target named
name could be one of this type: what
tells a pick of an element of it from one of a target of another
type with elements of the same kind (ElementReference::from_picked).
The singleton’s name, for a singleton; any name, by default.Source§impl Kind for MotionStudy
Read whole.
impl Kind for MotionStudy
Read whole.
Source§impl PartialEq for MotionStudy
impl PartialEq for MotionStudy
Source§impl Serialize for MotionStudy
impl Serialize for MotionStudy
impl StructuralPartialEq for MotionStudy
Source§impl Target for MotionStudy
Each motion step’s own.
impl Target for MotionStudy
Each motion step’s own.
Source§const CHAIN: bool = false
const CHAIN: bool = false
Whether several steps may produce a target of this type, each from
what the steps before left (see
crate::reader::Reader::previous):
the model, the datums, the parameters’ values, the listings — what
a program accumulates. A target that is not a chain — a sketch, a
placed part — has one producer, and a second is an error naming
both.Auto Trait Implementations§
impl Freeze for MotionStudy
impl RefUnwindSafe for MotionStudy
impl Send for MotionStudy
impl Sync for MotionStudy
impl Unpin for MotionStudy
impl UnsafeUnpin for MotionStudy
impl UnwindSafe for MotionStudy
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