pub struct Motor { /* private fields */ }
Expand description
A Motor is a combination of a translation along a line combined with a rotation about an axis parallel to that line. In other words, it is the geometric product of a Translator and a Rotor.
Implementations§
source§impl Motor
impl Motor
sourcepub const fn new(
a: f32,
b: f32,
c: f32,
d: f32,
e: f32,
f: f32,
g: f32,
h: f32
) -> Motor
pub const fn new( a: f32, b: f32, c: f32, d: f32, e: f32, f: f32, g: f32, h: f32 ) -> Motor
a + be23 + ce31 + de12 + ee01 + fe02 + ge03 + h*e0123
sourcepub fn from_screw_axis(angle: f32, d: f32, l: Line) -> Motor
pub fn from_screw_axis(angle: f32, d: f32, l: Line) -> Motor
Produce a screw motion rotating and translating by given amounts along a provided Euclidean axis.
pub fn from_scalar(s: f32) -> Motor
pub fn inverse(&self) -> Motor
pub fn normalized(&self) -> Motor
pub fn constrained(&self) -> Motor
pub fn log(&self) -> Line
pub fn sqrt(self) -> Motor
pub fn reverse(self) -> Motor
pub fn approx_eq(&self, other: Motor, epsilon: f32) -> bool
pub fn e12(&self) -> f32
pub fn e21(&self) -> f32
pub fn e31(&self) -> f32
pub fn e13(&self) -> f32
pub fn e23(&self) -> f32
pub fn e32(&self) -> f32
pub fn scalar(&self) -> f32
pub fn e01(&self) -> f32
pub fn e10(&self) -> f32
pub fn e02(&self) -> f32
pub fn e20(&self) -> f32
pub fn e03(&self) -> f32
pub fn e30(&self) -> f32
pub fn e0123(&self) -> f32
Trait Implementations§
source§impl Add<Translator> for Motor
impl Add<Translator> for Motor
source§impl AddAssign<Motor> for Motor
impl AddAssign<Motor> for Motor
source§fn add_assign(&mut self, m: Self)
fn add_assign(&mut self, m: Self)
Performs the
+=
operation. Read moresource§impl Div<Translator> for Motor
impl Div<Translator> for Motor
source§impl DivAssign<f32> for Motor
impl DivAssign<f32> for Motor
source§fn div_assign(&mut self, s: f32)
fn div_assign(&mut self, s: f32)
Performs the
/=
operation. Read moresource§impl From<Translator> for Motor
impl From<Translator> for Motor
source§fn from(t: Translator) -> Motor
fn from(t: Translator) -> Motor
Converts to this type from the input type.
source§impl Mul<Motor> for Translator
impl Mul<Motor> for Translator
source§impl Mul<Translator> for Motor
impl Mul<Translator> for Motor
source§impl MulAssign<Motor> for Motor
impl MulAssign<Motor> for Motor
source§fn mul_assign(&mut self, m: Motor)
fn mul_assign(&mut self, m: Motor)
Performs the
*=
operation. Read moresource§impl MulAssign<Rotor> for Motor
impl MulAssign<Rotor> for Motor
source§fn mul_assign(&mut self, r: Rotor)
fn mul_assign(&mut self, r: Rotor)
Performs the
*=
operation. Read moresource§impl MulAssign<Translator> for Motor
impl MulAssign<Translator> for Motor
source§fn mul_assign(&mut self, t: Translator)
fn mul_assign(&mut self, t: Translator)
Performs the
*=
operation. Read moresource§impl MulAssign<f32> for Motor
impl MulAssign<f32> for Motor
source§fn mul_assign(&mut self, s: f32)
fn mul_assign(&mut self, s: f32)
Performs the
*=
operation. Read moresource§impl PartialEq<Motor> for Motor
impl PartialEq<Motor> for Motor
source§impl SubAssign<Motor> for Motor
impl SubAssign<Motor> for Motor
source§fn sub_assign(&mut self, m: Self)
fn sub_assign(&mut self, m: Self)
Performs the
-=
operation. Read more