pub enum Joint {
Revolute,
Slider,
Cylindrical,
Planar,
PinSlot,
Ball,
Universal,
Fastened,
}Expand description
The joints there are, each a row of one table — how it lets the second
frame turn, and which motions it frees (Joint::frees): every joint
is the second frame held on the first within those, so that one
formulation (joint_residuals) holds them all.
Variants§
Revolute
Turns about the axis, nothing else: a hinge, a robot’s joint.
Slider
Slides along the axis, nothing else.
Cylindrical
Turns about the axis and slides along it: a shaft in a bearing.
Planar
Slides in the first frame’s xy plane and turns about its z: a
part sliding on a table.
PinSlot
Slides along the first frame’s x axis and turns about its z: a
pin in a straight slot.
Ball
Turns any way about the frames’ common origin: a ball in its socket.
Universal
Turns about either frame’s z axis, the two kept square and meeting
at the origins: a universal joint’s cross.
Fastened
Neither: the frames coincide, and the two bodies move as one.
Implementations§
Trait Implementations§
impl Copy for Joint
Source§impl<'de> Deserialize<'de> for Joint
impl<'de> Deserialize<'de> for Joint
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>,
impl Eq for Joint
impl StructuralPartialEq for Joint
Auto Trait Implementations§
impl Freeze for Joint
impl RefUnwindSafe for Joint
impl Send for Joint
impl Sync for Joint
impl Unpin for Joint
impl UnsafeUnpin for Joint
impl UnwindSafe for Joint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.