Type Definition nalgebra::geometry::UnitComplex [−][src]
type UnitComplex<N> = Unit<Complex<N>>;
A 2D rotation represented as a complex number with magnitude 1.
All the methods specific UnitComplex
are listed here. You may also
read the documentation of the Complex
type which
is used internally and accessible with unit_complex.complex()
.
Construction
- Identity
identity
- From a 2D rotation angle
new
,from_cos_sin_unchecked
… - From an existing 2D matrix or complex number
from_matrix
,rotation_to
,powf
… - From two vectors
rotation_between
,scaled_rotation_between_axis
…
Transformation and composition
- Angle extraction
angle
,angle_to
… - Transformation of a vector or a point
transform_vector
,inverse_transform_point
… - Conjugation and inversion
conjugate
,inverse_mut
… - Interpolation
slerp
…
Conversion
Implementations
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn angle(&self) -> N
[src]
The rotation angle in ]-pi; pi]
of this unit complex number.
Example
let rot = UnitComplex::new(1.78); assert_eq!(rot.angle(), 1.78);
pub fn sin_angle(&self) -> N
[src]
The sine of the rotation angle.
Example
let angle = 1.78f32; let rot = UnitComplex::new(angle); assert_eq!(rot.sin_angle(), angle.sin());
pub fn cos_angle(&self) -> N
[src]
The cosine of the rotation angle.
Example
let angle = 1.78f32; let rot = UnitComplex::new(angle); assert_eq!(rot.cos_angle(),angle.cos());
pub fn scaled_axis(&self) -> Vector1<N>
[src]
The rotation angle returned as a 1-dimensional vector.
This is generally used in the context of generic programming. Using
the .angle()
method instead is more common.
pub fn axis_angle(&self) -> Option<(Unit<Vector1<N>>, N)> where
N: RealField,
[src]
N: RealField,
The rotation axis and angle in ]0, pi] of this complex number.
This is generally used in the context of generic programming. Using
the .angle()
method instead is more common.
Returns None
if the angle is zero.
pub fn angle_to(&self, other: &Self) -> N
[src]
The rotation angle needed to make self
and other
coincide.
Example
let rot1 = UnitComplex::new(0.1); let rot2 = UnitComplex::new(1.7); assert_relative_eq!(rot1.angle_to(&rot2), 1.6);
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]#[must_use = "Did you mean to use conjugate_mut()?"]pub fn conjugate(&self) -> Self
[src]
Compute the conjugate of this unit complex number.
Example
let rot = UnitComplex::new(1.78); let conj = rot.conjugate(); assert_eq!(rot.complex().im, -conj.complex().im); assert_eq!(rot.complex().re, conj.complex().re);
#[must_use = "Did you mean to use inverse_mut()?"]pub fn inverse(&self) -> Self
[src]
Inverts this complex number if it is not zero.
Example
let rot = UnitComplex::new(1.2); let inv = rot.inverse(); assert_relative_eq!(rot * inv, UnitComplex::identity(), epsilon = 1.0e-6); assert_relative_eq!(inv * rot, UnitComplex::identity(), epsilon = 1.0e-6);
pub fn conjugate_mut(&mut self)
[src]
Compute in-place the conjugate of this unit complex number.
Example
let angle = 1.7; let rot = UnitComplex::new(angle); let mut conj = UnitComplex::new(angle); conj.conjugate_mut(); assert_eq!(rot.complex().im, -conj.complex().im); assert_eq!(rot.complex().re, conj.complex().re);
pub fn inverse_mut(&mut self)
[src]
Inverts in-place this unit complex number.
Example
let angle = 1.7; let mut rot = UnitComplex::new(angle); rot.inverse_mut(); assert_relative_eq!(rot * UnitComplex::new(angle), UnitComplex::identity()); assert_relative_eq!(UnitComplex::new(angle) * rot, UnitComplex::identity());
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn to_rotation_matrix(&self) -> Rotation2<N>
[src]
Builds the rotation matrix corresponding to this unit complex number.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_6); let expected = Rotation2::new(f32::consts::FRAC_PI_6); assert_eq!(rot.to_rotation_matrix(), expected);
pub fn to_homogeneous(&self) -> Matrix3<N>
[src]
Converts this unit complex number into its equivalent homogeneous transformation matrix.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_6); let expected = Matrix3::new(0.8660254, -0.5, 0.0, 0.5, 0.8660254, 0.0, 0.0, 0.0, 1.0); assert_eq!(rot.to_homogeneous(), expected);
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn transform_point(&self, pt: &Point2<N>) -> Point2<N>
[src]
Rotate the given point by this unit complex number.
This is the same as the multiplication self * pt
.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let transformed_point = rot.transform_point(&Point2::new(1.0, 2.0)); assert_relative_eq!(transformed_point, Point2::new(-2.0, 1.0), epsilon = 1.0e-6);
pub fn transform_vector(&self, v: &Vector2<N>) -> Vector2<N>
[src]
Rotate the given vector by this unit complex number.
This is the same as the multiplication self * v
.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let transformed_vector = rot.transform_vector(&Vector2::new(1.0, 2.0)); assert_relative_eq!(transformed_vector, Vector2::new(-2.0, 1.0), epsilon = 1.0e-6);
pub fn inverse_transform_point(&self, pt: &Point2<N>) -> Point2<N>
[src]
Rotate the given point by the inverse of this unit complex number.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let transformed_point = rot.inverse_transform_point(&Point2::new(1.0, 2.0)); assert_relative_eq!(transformed_point, Point2::new(2.0, -1.0), epsilon = 1.0e-6);
pub fn inverse_transform_vector(&self, v: &Vector2<N>) -> Vector2<N>
[src]
Rotate the given vector by the inverse of this unit complex number.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let transformed_vector = rot.inverse_transform_vector(&Vector2::new(1.0, 2.0)); assert_relative_eq!(transformed_vector, Vector2::new(2.0, -1.0), epsilon = 1.0e-6);
pub fn inverse_transform_unit_vector(
&self,
v: &Unit<Vector2<N>>
) -> Unit<Vector2<N>>
[src]
&self,
v: &Unit<Vector2<N>>
) -> Unit<Vector2<N>>
Rotate the given vector by the inverse of this unit complex number.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); let transformed_vector = rot.inverse_transform_unit_vector(&Vector2::x_axis()); assert_relative_eq!(transformed_vector, -Vector2::y_axis(), epsilon = 1.0e-6);
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn slerp(&self, other: &Self, t: N) -> Self
[src]
Spherical linear interpolation between two rotations represented as unit complex numbers.
Examples:
let rot1 = UnitComplex::new(std::f32::consts::FRAC_PI_4); let rot2 = UnitComplex::new(-std::f32::consts::PI); let rot = rot1.slerp(&rot2, 1.0 / 3.0); assert_relative_eq!(rot.angle(), std::f32::consts::FRAC_PI_2);
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn new(angle: N) -> Self
[src]
Builds the unit complex number corresponding to the rotation with the given angle.
Example
let rot = UnitComplex::new(f32::consts::FRAC_PI_2); assert_relative_eq!(rot * Point2::new(3.0, 4.0), Point2::new(-4.0, 3.0));
pub fn from_angle(angle: N) -> Self
[src]
Builds the unit complex number corresponding to the rotation with the angle.
Same as Self::new(angle)
.
Example
let rot = UnitComplex::from_angle(f32::consts::FRAC_PI_2); assert_relative_eq!(rot * Point2::new(3.0, 4.0), Point2::new(-4.0, 3.0));
pub fn from_cos_sin_unchecked(cos: N, sin: N) -> Self
[src]
Builds the unit complex number from the sinus and cosinus of the rotation angle.
The input values are not checked to actually be cosines and sine of the same value.
Is is generally preferable to use the ::new(angle)
constructor instead.
Example
let angle = f32::consts::FRAC_PI_2; let rot = UnitComplex::from_cos_sin_unchecked(angle.cos(), angle.sin()); assert_relative_eq!(rot * Point2::new(3.0, 4.0), Point2::new(-4.0, 3.0));
pub fn from_scaled_axis<SB: Storage<N, U1>>(
axisangle: Vector<N, U1, SB>
) -> Self
[src]
axisangle: Vector<N, U1, SB>
) -> Self
Builds a unit complex rotation from an angle in radian wrapped in a 1-dimensional vector.
This is generally used in the context of generic programming. Using
the ::new(angle)
method instead is more common.
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn complex(&self) -> &Complex<N>
[src]
The underlying complex number.
Same as self.as_ref()
.
Example
let angle = 1.78f32; let rot = UnitComplex::new(angle); assert_eq!(*rot.complex(), Complex::new(angle.cos(), angle.sin()));
pub fn from_complex(q: Complex<N>) -> Self
[src]
Creates a new unit complex number from a complex number.
The input complex number will be normalized.
pub fn from_complex_and_get(q: Complex<N>) -> (Self, N)
[src]
Creates a new unit complex number from a complex number.
The input complex number will be normalized. Returns the norm of the complex number as well.
pub fn from_rotation_matrix(rotmat: &Rotation2<N>) -> Self
[src]
Builds the unit complex number from the corresponding 2D rotation matrix.
Example
let rot = Rotation2::new(1.7); let complex = UnitComplex::from_rotation_matrix(&rot); assert_eq!(complex, UnitComplex::new(1.7));
pub fn from_matrix(m: &Matrix2<N>) -> Self where
N: RealField,
[src]
N: RealField,
Builds an unit complex by extracting the rotation part of the given transformation m
.
This is an iterative method. See .from_matrix_eps
to provide mover
convergence parameters and starting solution.
This implements “A Robust Method to Extract the Rotational Part of Deformations” by Müller et al.
pub fn from_matrix_eps(
m: &Matrix2<N>,
eps: N,
max_iter: usize,
guess: Self
) -> Self where
N: RealField,
[src]
m: &Matrix2<N>,
eps: N,
max_iter: usize,
guess: Self
) -> Self where
N: RealField,
Builds an unit complex by extracting the rotation part of the given transformation m
.
This implements “A Robust Method to Extract the Rotational Part of Deformations” by Müller et al.
Parameters
m
: the matrix from which the rotational part is to be extracted.eps
: the angular errors tolerated between the current rotation and the optimal one.max_iter
: the maximum number of iterations. Loops indefinitely until convergence if set to0
.guess
: an estimate of the solution. Convergence will be significantly faster if an initial solution close to the actual solution is provided. Can be set toUnitQuaternion::identity()
if no other guesses come to mind.
pub fn rotation_to(&self, other: &Self) -> Self
[src]
The unit complex number needed to make self
and other
coincide.
The result is such that: self.rotation_to(other) * self == other
.
Example
let rot1 = UnitComplex::new(0.1); let rot2 = UnitComplex::new(1.7); let rot_to = rot1.rotation_to(&rot2); assert_relative_eq!(rot_to * rot1, rot2); assert_relative_eq!(rot_to.inverse() * rot2, rot1);
pub fn powf(&self, n: N) -> Self
[src]
Raise this unit complex number to a given floating power.
This returns the unit complex number that identifies a rotation angle equal to
self.angle() × n
.
Example
let rot = UnitComplex::new(0.78); let pow = rot.powf(2.0); assert_relative_eq!(pow.angle(), 2.0 * 0.78);
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> UnitComplex<N> where
N::Element: SimdRealField,
[src]pub fn rotation_between<SB, SC>(
a: &Vector<N, U2, SB>,
b: &Vector<N, U2, SC>
) -> Self where
N: RealField,
SB: Storage<N, U2>,
SC: Storage<N, U2>,
[src]
a: &Vector<N, U2, SB>,
b: &Vector<N, U2, SC>
) -> Self where
N: RealField,
SB: Storage<N, U2>,
SC: Storage<N, U2>,
The unit complex needed to make a
and b
be collinear and point toward the same
direction.
Example
let a = Vector2::new(1.0, 2.0); let b = Vector2::new(2.0, 1.0); let rot = UnitComplex::rotation_between(&a, &b); assert_relative_eq!(rot * a, b); assert_relative_eq!(rot.inverse() * b, a);
pub fn scaled_rotation_between<SB, SC>(
a: &Vector<N, U2, SB>,
b: &Vector<N, U2, SC>,
s: N
) -> Self where
N: RealField,
SB: Storage<N, U2>,
SC: Storage<N, U2>,
[src]
a: &Vector<N, U2, SB>,
b: &Vector<N, U2, SC>,
s: N
) -> Self where
N: RealField,
SB: Storage<N, U2>,
SC: Storage<N, U2>,
The smallest rotation needed to make a
and b
collinear and point toward the same
direction, raised to the power s
.
Example
let a = Vector2::new(1.0, 2.0); let b = Vector2::new(2.0, 1.0); let rot2 = UnitComplex::scaled_rotation_between(&a, &b, 0.2); let rot5 = UnitComplex::scaled_rotation_between(&a, &b, 0.5); assert_relative_eq!(rot2 * rot2 * rot2 * rot2 * rot2 * a, b, epsilon = 1.0e-6); assert_relative_eq!(rot5 * rot5 * a, b, epsilon = 1.0e-6);
pub fn rotation_between_axis<SB, SC>(
a: &Unit<Vector<N, U2, SB>>,
b: &Unit<Vector<N, U2, SC>>
) -> Self where
SB: Storage<N, U2>,
SC: Storage<N, U2>,
[src]
a: &Unit<Vector<N, U2, SB>>,
b: &Unit<Vector<N, U2, SC>>
) -> Self where
SB: Storage<N, U2>,
SC: Storage<N, U2>,
The unit complex needed to make a
and b
be collinear and point toward the same
direction.
Example
let a = Unit::new_normalize(Vector2::new(1.0, 2.0)); let b = Unit::new_normalize(Vector2::new(2.0, 1.0)); let rot = UnitComplex::rotation_between_axis(&a, &b); assert_relative_eq!(rot * a, b); assert_relative_eq!(rot.inverse() * b, a);
pub fn scaled_rotation_between_axis<SB, SC>(
na: &Unit<Vector<N, U2, SB>>,
nb: &Unit<Vector<N, U2, SC>>,
s: N
) -> Self where
SB: Storage<N, U2>,
SC: Storage<N, U2>,
[src]
na: &Unit<Vector<N, U2, SB>>,
nb: &Unit<Vector<N, U2, SC>>,
s: N
) -> Self where
SB: Storage<N, U2>,
SC: Storage<N, U2>,
The smallest rotation needed to make a
and b
collinear and point toward the same
direction, raised to the power s
.
Example
let a = Unit::new_normalize(Vector2::new(1.0, 2.0)); let b = Unit::new_normalize(Vector2::new(2.0, 1.0)); let rot2 = UnitComplex::scaled_rotation_between_axis(&a, &b, 0.2); let rot5 = UnitComplex::scaled_rotation_between_axis(&a, &b, 0.5); assert_relative_eq!(rot2 * rot2 * rot2 * rot2 * rot2 * a, b, epsilon = 1.0e-6); assert_relative_eq!(rot5 * rot5 * a, b, epsilon = 1.0e-6);
Trait Implementations
impl<N: RealField> AbsDiffEq<Unit<Complex<N>>> for UnitComplex<N>
[src]
impl<N: RealField> AbsDiffEq<Unit<Complex<N>>> for UnitComplex<N>
[src]type Epsilon = N
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
impl<N: SimdRealField> AbstractRotation<N, U2> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> AbstractRotation<N, U2> for UnitComplex<N> where
N::Element: SimdRealField,
[src]fn identity() -> Self
[src]
fn inverse(&self) -> Self
[src]
fn inverse_mut(&mut self)
[src]
fn transform_vector(&self, v: &VectorN<N, U2>) -> VectorN<N, U2>
[src]
fn transform_point(&self, p: &Point<N, U2>) -> Point<N, U2>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, U2>) -> VectorN<N, U2>
[src]
fn inverse_transform_point(&self, p: &Point<N, U2>) -> Point<N, U2>
[src]
fn inverse_transform_unit_vector(
&self,
v: &Unit<VectorN<N, D>>
) -> Unit<VectorN<N, D>> where
DefaultAllocator: Allocator<N, D>,
[src]
&self,
v: &Unit<VectorN<N, D>>
) -> Unit<VectorN<N, D>> where
DefaultAllocator: Allocator<N, D>,
impl<N: RealField + Display> Display for UnitComplex<N>
[src]
impl<N: RealField + Display> Display for UnitComplex<N>
[src]impl<'b, N: SimdRealField> Div<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N: SimdRealField> Div<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'a, 'b, N: SimdRealField> Div<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = Self
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'a, 'b, N: SimdRealField> Div<&'b Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<N: SimdRealField> Div<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N: SimdRealField> Div<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'a, N: SimdRealField> Div<Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'a, N: SimdRealField> Div<Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<N: SimdRealField> Div<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> Div<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]impl<'a, N: SimdRealField> Div<Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'a, N: SimdRealField> Div<Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = UnitComplex<N>
The resulting type after applying the /
operator.
fn div(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField> DivAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N: SimdRealField> DivAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn div_assign(&mut self, rhs: &'b Rotation<N, U2>)
[src]
impl<'b, N: SimdRealField> DivAssign<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'b, N: SimdRealField> DivAssign<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]fn div_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<N: SimdRealField> DivAssign<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N: SimdRealField> DivAssign<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn div_assign(&mut self, rhs: Rotation<N, U2>)
[src]
impl<N: SimdRealField> DivAssign<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> DivAssign<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]fn div_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 16]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 16]>,
N::Element: Scalar + Copy,
[src]
impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 16]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 16]>,
N::Element: Scalar + Copy,
[src]impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 2]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 2]>,
N::Element: Scalar + Copy,
[src]
impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 2]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 2]>,
N::Element: Scalar + Copy,
[src]impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 4]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 4]>,
N::Element: Scalar + Copy,
[src]
impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 4]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 4]>,
N::Element: Scalar + Copy,
[src]impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 8]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 8]>,
N::Element: Scalar + Copy,
[src]
impl<N: Scalar + Copy + PrimitiveSimdValue> From<[Unit<Complex<<N as SimdValue>::Element>>; 8]> for UnitComplex<N> where
N: From<[<N as SimdValue>::Element; 8]>,
N::Element: Scalar + Copy,
[src]impl<N: SimdRealField> From<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> From<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Matrix<N, U2, U1, S>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Matrix<N, U2, U1, S>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, 'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Matrix<N, U2, U1, S>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Matrix<N, U2, U1, S>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'b, N: SimdRealField> Mul<&'b Point<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Point<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, 'b, N: SimdRealField> Mul<&'b Point<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Point<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'b, N: SimdRealField> Mul<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'a, 'b, N: SimdRealField> Mul<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'b, N: SimdRealField> Mul<&'b Similarity<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Similarity<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Similarity<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Similarity<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Similarity<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Similarity<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Similarity<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Similarity<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'b, N: SimdRealField> Mul<&'b Translation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField> Mul<&'b Translation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Translation<N, U2>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Translation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Translation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Translation<N, U2>) -> Self::Output
[src]
impl<'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'a, 'b, N: SimdRealField> Mul<&'b Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b UnitComplex<N>) -> Self::Output
[src]
impl<'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Unit<Matrix<N, U2, U1, S>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Unit<Matrix<N, U2, U1, S>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, 'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Unit<Matrix<N, U2, U1, S>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, 'b, N: SimdRealField, S: Storage<N, U2>> Mul<&'b Unit<Matrix<N, U2, U1, S>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Isometry<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Isometry<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<N: SimdRealField, S: Storage<N, U2>> Mul<Matrix<N, U2, U1, S>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField, S: Storage<N, U2>> Mul<Matrix<N, U2, U1, S>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, N: SimdRealField, S: Storage<N, U2>> Mul<Matrix<N, U2, U1, S>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField, S: Storage<N, U2>> Mul<Matrix<N, U2, U1, S>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<N: SimdRealField> Mul<Point<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Point<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, N: SimdRealField> Mul<Point<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Point<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<N: SimdRealField> Mul<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N: SimdRealField> Mul<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<'a, N: SimdRealField> Mul<Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'a, N: SimdRealField> Mul<Rotation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]impl<N: SimdRealField> Mul<Similarity<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Similarity<N, U2, Unit<Complex<N>>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Similarity<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Similarity<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Similarity<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Similarity<N, U2, Unit<Complex<N>>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Similarity<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Similarity<N, U2, UnitComplex<N>>) -> Self::Output
[src]
impl<N: SimdRealField> Mul<Translation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField> Mul<Translation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Translation<N, U2>) -> Self::Output
[src]
impl<'a, N: SimdRealField> Mul<Translation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField> Mul<Translation<N, U2>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]type Output = Isometry<N, U2, UnitComplex<N>>
The resulting type after applying the *
operator.
fn mul(self, rhs: Translation<N, U2>) -> Self::Output
[src]
impl<N: SimdRealField> Mul<Unit<Complex<N>>> for UnitComplex<N>
[src]
impl<N: SimdRealField> Mul<Unit<Complex<N>>> for UnitComplex<N>
[src]impl<'a, N: SimdRealField> Mul<Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'a, N: SimdRealField> Mul<Unit<Complex<N>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
[src]type Output = UnitComplex<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: UnitComplex<N>) -> Self::Output
[src]
impl<N: SimdRealField, S: Storage<N, U2>> Mul<Unit<Matrix<N, U2, U1, S>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<N: SimdRealField, S: Storage<N, U2>> Mul<Unit<Matrix<N, U2, U1, S>>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'a, N: SimdRealField, S: Storage<N, U2>> Mul<Unit<Matrix<N, U2, U1, S>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]
impl<'a, N: SimdRealField, S: Storage<N, U2>> Mul<Unit<Matrix<N, U2, U1, S>>> for &'a UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U1>,
[src]impl<'b, N: SimdRealField> MulAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<'b, N: SimdRealField> MulAssign<&'b Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn mul_assign(&mut self, rhs: &'b Rotation<N, U2>)
[src]
impl<'b, N: SimdRealField> MulAssign<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<'b, N: SimdRealField> MulAssign<&'b Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]fn mul_assign(&mut self, rhs: &'b UnitComplex<N>)
[src]
impl<N: SimdRealField> MulAssign<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]
impl<N: SimdRealField> MulAssign<Rotation<N, U2>> for UnitComplex<N> where
N::Element: SimdRealField,
DefaultAllocator: Allocator<N, U2, U2>,
[src]fn mul_assign(&mut self, rhs: Rotation<N, U2>)
[src]
impl<N: SimdRealField> MulAssign<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> MulAssign<Unit<Complex<N>>> for UnitComplex<N> where
N::Element: SimdRealField,
[src]fn mul_assign(&mut self, rhs: UnitComplex<N>)
[src]
impl<N: SimdRealField> One for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> One for UnitComplex<N> where
N::Element: SimdRealField,
[src]impl<N: RealField> RelativeEq<Unit<Complex<N>>> for UnitComplex<N>
[src]
impl<N: RealField> RelativeEq<Unit<Complex<N>>> for UnitComplex<N>
[src]fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<N: SimdRealField> SimdValue for UnitComplex<N> where
N::Element: SimdRealField,
[src]
impl<N: SimdRealField> SimdValue for UnitComplex<N> where
N::Element: SimdRealField,
[src]type Element = UnitComplex<N::Element>
The type of the elements of each lane of this SIMD value.
type SimdBool = N::SimdBool
Type of the result of comparing two SIMD values like self
.
fn lanes() -> usize
[src]
fn splat(val: Self::Element) -> Self
[src]
fn extract(&self, i: usize) -> Self::Element
[src]
unsafe fn extract_unchecked(&self, i: usize) -> Self::Element
[src]
fn replace(&mut self, i: usize, val: Self::Element)
[src]
unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
[src]
fn select(self, cond: Self::SimdBool, other: Self) -> Self
[src]
pub fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self where
Self: Clone,
[src]
Self: Clone,
pub fn zip_map_lanes(
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
[src]
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]
impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]fn to_superset(&self) -> Isometry<N2, U2, R>
[src]
fn is_in_subset(iso: &Isometry<N2, U2, R>) -> bool
[src]
fn from_superset_unchecked(iso: &Isometry<N2, U2, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1: RealField, N2: RealField + SupersetOf<N1>> SubsetOf<Matrix<N2, U3, U3, <DefaultAllocator as Allocator<N2, U3, U3>>::Buffer>> for UnitComplex<N1>
[src]
impl<N1: RealField, N2: RealField + SupersetOf<N1>> SubsetOf<Matrix<N2, U3, U3, <DefaultAllocator as Allocator<N2, U3, U3>>::Buffer>> for UnitComplex<N1>
[src]fn to_superset(&self) -> Matrix3<N2>
[src]
fn is_in_subset(m: &Matrix3<N2>) -> bool
[src]
fn from_superset_unchecked(m: &Matrix3<N2>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2> SubsetOf<Rotation<N2, U2>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]
impl<N1, N2> SubsetOf<Rotation<N2, U2>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]fn to_superset(&self) -> Rotation2<N2>
[src]
fn is_in_subset(rot: &Rotation2<N2>) -> bool
[src]
fn from_superset_unchecked(rot: &Rotation2<N2>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, R> SubsetOf<Similarity<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]
impl<N1, N2, R> SubsetOf<Similarity<N2, U2, R>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
R: AbstractRotation<N2, U2> + SupersetOf<Self>,
[src]fn to_superset(&self) -> Similarity<N2, U2, R>
[src]
fn is_in_subset(sim: &Similarity<N2, U2, R>) -> bool
[src]
fn from_superset_unchecked(sim: &Similarity<N2, U2, R>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2, C> SubsetOf<Transform<N2, U2, C>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
[src]
impl<N1, N2, C> SubsetOf<Transform<N2, U2, C>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
C: SuperTCategoryOf<TAffine>,
[src]fn to_superset(&self) -> Transform<N2, U2, C>
[src]
fn is_in_subset(t: &Transform<N2, U2, C>) -> bool
[src]
fn from_superset_unchecked(t: &Transform<N2, U2, C>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]
impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for UnitComplex<N1> where
N1: RealField,
N2: RealField + SupersetOf<N1>,
[src]