pub enum CuJointPosition {
Revolute(Angle),
Prismatic(Length),
Fixed,
}Expand description
A joint coordinate carries the physical unit of its joint.
Variants§
Implementations§
Source§impl CuJointPosition
impl CuJointPosition
Sourcepub fn angle(self) -> CuResult<Angle>
pub fn angle(self) -> CuResult<Angle>
Extracts an angle, rejecting linear and fixed coordinates.
Sourcepub fn displacement(self) -> CuResult<Length>
pub fn displacement(self) -> CuResult<Length>
Extracts a displacement, rejecting angular and fixed coordinates.
Sourcepub fn si_value(self) -> f64
pub fn si_value(self) -> f64
Returns the coordinate in SI base units (radians or meters; 0.0 for fixed joints).
Intended for numerical kernels that operate on dimensionless arrays; convert back with
Self::with_si_value so the unit tag is never lost.
Sourcepub fn with_si_value(self, value: f64) -> Self
pub fn with_si_value(self, value: f64) -> Self
Returns a coordinate of the same joint kind holding value in SI base units
(radians or meters). Fixed coordinates stay fixed.
Sourcepub fn interpolate(self, other: Self, fraction: f64) -> CuResult<Self>
pub fn interpolate(self, other: Self, fraction: f64) -> CuResult<Self>
Interpolates between coordinates of the same joint type.
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for CuJointPosition
impl<'__de, __Context> BorrowDecode<'__de, __Context> for CuJointPosition
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl Clone for CuJointPosition
impl Clone for CuJointPosition
Source§fn clone(&self) -> CuJointPosition
fn clone(&self) -> CuJointPosition
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 moreimpl Copy for CuJointPosition
Source§impl Debug for CuJointPosition
impl Debug for CuJointPosition
Source§impl<__Context> Decode<__Context> for CuJointPosition
impl<__Context> Decode<__Context> for CuJointPosition
Source§impl Default for CuJointPosition
impl Default for CuJointPosition
Source§impl<'de> Deserialize<'de> for CuJointPosition
impl<'de> Deserialize<'de> for CuJointPosition
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 Encode for CuJointPosition
impl Encode for CuJointPosition
Source§impl From<Angle> for CuJointPosition
impl From<Angle> for CuJointPosition
Source§impl From<Length> for CuJointPosition
impl From<Length> for CuJointPosition
Source§impl PartialEq for CuJointPosition
impl PartialEq for CuJointPosition
Source§impl Serialize for CuJointPosition
impl Serialize for CuJointPosition
impl StructuralPartialEq for CuJointPosition
Source§impl TypePath for CuJointPosition
impl TypePath for CuJointPosition
fn type_path() -> &'static str
fn short_type_path() -> &'static str
fn type_ident() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
fn module_path() -> Option<&'static str>
Auto Trait Implementations§
impl Freeze for CuJointPosition
impl RefUnwindSafe for CuJointPosition
impl Send for CuJointPosition
impl Sync for CuJointPosition
impl Unpin for CuJointPosition
impl UnsafeUnpin for CuJointPosition
impl UnwindSafe for CuJointPosition
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CuMsgPayload for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> ElementType for T
impl<T> ElementType for T
impl<T> GetTypeRegistration for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more