Trait oxygengine_physics_2d::prelude::ncollide2d::simba::scalar::SubsetOf[]

pub trait SubsetOf<T> {
    pub fn to_superset(&self) -> T;
pub fn from_superset_unchecked(element: &T) -> Self;
pub fn is_in_subset(element: &T) -> bool; pub fn from_superset(element: &T) -> Option<Self> { ... } }

Nested sets and conversions between them (using an injective mapping). Useful to work with substructures. In generic code, it is preferable to use SupersetOf as trait bound whenever possible instead of SubsetOf (because SupersetOf is automatically implemented whenever SubsetOf is).

The notion of “nested sets” is very broad and applies to what the types are supposed to represent, independently from their actual implementation details and limitations. For example:

  • f32 and f64 are both supposed to represent reals and are thus considered equal (even if in practice f64 has more elements).
  • u32 and i8 are respectively supposed to represent natural and relative numbers. Thus, u32 is a subset of i8.
  • A quaternion and a 3x3 orthogonal matrix with unit determinant are both sets of rotations. They can thus be considered equal.

In other words, implementation details due to machine limitations are ignored (otherwise we could not even, e.g., convert a u64 to an i64). If considering those limitations are important, other crates allowing you to query the limitations of given types should be used.

Required methods

pub fn to_superset(&self) -> T

The inclusion map: converts self to the equivalent element of its superset.

pub fn from_superset_unchecked(element: &T) -> Self

Use with care! Same as self.to_superset but without any property checks. Always succeeds.

pub fn is_in_subset(element: &T) -> bool

Checks if element is actually part of the subset Self (and can be converted to it).

Loading content...

Provided methods

pub fn from_superset(element: &T) -> Option<Self>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset.

Must return None if element has no equivalent in Self.

Loading content...

Implementations on Foreign Types

impl<N2> SubsetOf<AutoSimd<N2>> for usize where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<usize>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i128> for isize

impl<N2> SubsetOf<Complex<N2>> for u32 where
    N2: Zero + SupersetOf<u32>, 

impl SubsetOf<f64> for f32

impl SubsetOf<i16> for i128

impl<N2> SubsetOf<AutoSimd<N2>> for i64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<f32> for u128

impl<N2> SubsetOf<Complex<N2>> for i32 where
    N2: Zero + SupersetOf<i32>, 

impl SubsetOf<f64> for i32

impl SubsetOf<u128> for u8

impl SubsetOf<f64> for isize

impl SubsetOf<u128> for u64

impl SubsetOf<u8> for usize

impl SubsetOf<isize> for u128

impl SubsetOf<f64> for i64

impl SubsetOf<u128> for u32

impl SubsetOf<i16> for i64

impl SubsetOf<u32> for u32

impl SubsetOf<u16> for u8

impl<N2> SubsetOf<Complex<N2>> for i8 where
    N2: Zero + SupersetOf<i8>, 

impl SubsetOf<u8> for u16

impl SubsetOf<i16> for i8

impl SubsetOf<i64> for usize

impl SubsetOf<i128> for i32

impl SubsetOf<f32> for isize

impl SubsetOf<u8> for u64

impl SubsetOf<i16> for u128

impl SubsetOf<f32> for i8

impl SubsetOf<isize> for i32

impl SubsetOf<usize> for u32

impl SubsetOf<i8> for i16

impl SubsetOf<isize> for usize

impl<N2> SubsetOf<AutoSimd<N2>> for f64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i32> for u16

impl SubsetOf<i32> for i16

impl SubsetOf<u8> for u8

impl SubsetOf<i128> for i8

impl SubsetOf<i128> for u128

impl SubsetOf<i64> for i32

impl SubsetOf<u128> for usize

impl SubsetOf<f64> for i128

impl SubsetOf<u32> for u16

impl SubsetOf<i16> for usize

impl SubsetOf<i8> for i128

impl SubsetOf<i32> for u8

impl SubsetOf<isize> for u64

impl SubsetOf<i16> for i16

impl SubsetOf<i16> for isize

impl<N2> SubsetOf<AutoSimd<N2>> for u16 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u16>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i8> for u16

impl<N2> SubsetOf<AutoSimd<N2>> for f32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<f32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<u16> for u128

impl SubsetOf<f32> for i16

impl<N2> SubsetOf<Complex<N2>> for usize where
    N2: Zero + SupersetOf<usize>, 

impl SubsetOf<u16> for usize

impl SubsetOf<i8> for u32

impl SubsetOf<u64> for u64

impl SubsetOf<u128> for u128

impl SubsetOf<i16> for u16

impl SubsetOf<u128> for u16

impl SubsetOf<u32> for u64

impl<N2> SubsetOf<Complex<N2>> for isize where
    N2: Zero + SupersetOf<isize>, 

impl SubsetOf<u64> for u32

impl SubsetOf<f32> for u64

impl SubsetOf<isize> for i16

impl<N2> SubsetOf<Complex<N2>> for i128 where
    N2: Zero + SupersetOf<i128>, 

impl SubsetOf<i64> for i16

impl SubsetOf<i128> for u8

impl SubsetOf<u8> for u128

impl<N2> SubsetOf<Complex<N2>> for u16 where
    N2: Zero + SupersetOf<u16>, 

impl SubsetOf<i16> for u8

impl SubsetOf<u64> for u128

impl SubsetOf<u32> for u8

impl SubsetOf<u32> for usize

impl SubsetOf<i8> for i32

impl SubsetOf<isize> for isize

impl SubsetOf<usize> for usize

impl SubsetOf<i64> for isize

impl SubsetOf<isize> for i8

impl SubsetOf<i16> for u32

impl SubsetOf<f64> for u64

impl<N2> SubsetOf<AutoSimd<N2>> for i8 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i8>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i32> for usize

impl SubsetOf<isize> for u32

impl SubsetOf<f32> for i64

impl SubsetOf<usize> for u16

impl SubsetOf<f32> for u32

impl SubsetOf<f32> for u8

impl SubsetOf<i128> for i128

impl SubsetOf<i16> for i32

impl<N2> SubsetOf<Complex<N2>> for f64 where
    N2: Zero + SupersetOf<f64>, 

impl SubsetOf<u16> for u32

impl<N2> SubsetOf<AutoSimd<N2>> for u8 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u8>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<f32> for f32

impl<N2> SubsetOf<Complex<N2>> for u128 where
    N2: Zero + SupersetOf<u128>, 

impl SubsetOf<i32> for i8

impl SubsetOf<i64> for u128

impl SubsetOf<i8> for i8

impl<N2> SubsetOf<AutoSimd<N2>> for u64 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u64>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<f64> for f64

impl SubsetOf<i128> for i64

impl SubsetOf<f64> for u128

impl SubsetOf<i32> for i64

impl SubsetOf<usize> for u128

impl SubsetOf<i32> for i32

impl SubsetOf<f32> for u16

impl SubsetOf<i64> for u64

impl SubsetOf<i64> for u32

impl SubsetOf<i32> for u32

impl SubsetOf<i128> for u32

impl SubsetOf<f64> for i8

impl SubsetOf<i64> for u8

impl SubsetOf<u64> for u16

impl<N2> SubsetOf<AutoSimd<N2>> for i32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i64> for i128

impl SubsetOf<f32> for i32

impl SubsetOf<i8> for u128

impl SubsetOf<isize> for u16

impl SubsetOf<f32> for usize

impl SubsetOf<i8> for isize

impl SubsetOf<i128> for u16

impl SubsetOf<f64> for usize

impl SubsetOf<u16> for u16

impl SubsetOf<isize> for i128

impl SubsetOf<f64> for u8

impl SubsetOf<u32> for u128

impl<N2> SubsetOf<AutoSimd<N2>> for isize where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<isize>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<u64> for usize

impl SubsetOf<isize> for i64

impl SubsetOf<i32> for i128

impl SubsetOf<i8> for usize

impl SubsetOf<f64> for i16

impl SubsetOf<f32> for i128

impl SubsetOf<i32> for u128

impl<N2> SubsetOf<Complex<N2>> for f32 where
    N2: Zero + SupersetOf<f32>, 

impl<N2> SubsetOf<AutoSimd<N2>> for i16 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<i16>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i32> for isize

impl<N2> SubsetOf<Complex<N2>> for u8 where
    N2: Zero + SupersetOf<u8>, 

impl SubsetOf<f64> for u16

impl SubsetOf<i128> for usize

impl SubsetOf<i64> for i64

impl SubsetOf<i32> for u64

impl SubsetOf<i128> for u64

impl SubsetOf<u8> for u32

impl SubsetOf<i8> for u8

impl SubsetOf<i128> for i16

impl SubsetOf<usize> for u8

impl SubsetOf<f32> for f64

impl SubsetOf<i64> for i8

impl<N2> SubsetOf<Complex<N2>> for i64 where
    N2: Zero + SupersetOf<i64>, 

impl SubsetOf<i8> for i64

impl SubsetOf<isize> for u8

impl SubsetOf<u16> for u64

impl<N2> SubsetOf<Complex<N2>> for i16 where
    N2: Zero + SupersetOf<i16>, 

impl SubsetOf<i8> for u64

impl SubsetOf<f64> for u32

impl<N2> SubsetOf<Complex<N2>> for u64 where
    N2: Zero + SupersetOf<u64>, 

impl SubsetOf<i16> for u64

impl SubsetOf<u64> for u8

impl SubsetOf<usize> for u64

impl<N2> SubsetOf<AutoSimd<N2>> for u32 where
    AutoSimd<N2>: SimdValue,
    AutoSimd<N2>: Copy,
    <AutoSimd<N2> as SimdValue>::Element: SupersetOf<u32>,
    <AutoSimd<N2> as SimdValue>::Element: PartialEq<<AutoSimd<N2> as SimdValue>::Element>, 

impl SubsetOf<i64> for u16

Loading content...

Implementors

impl SubsetOf<AutoSimd<[f32; 2]>> for AutoSimd<[f32; 2]>

impl SubsetOf<AutoSimd<[f32; 4]>> for AutoSimd<[f32; 4]>

impl SubsetOf<AutoSimd<[f32; 8]>> for AutoSimd<[f32; 8]>

impl SubsetOf<AutoSimd<[f32; 16]>> for AutoSimd<[f32; 16]>

impl SubsetOf<AutoSimd<[f64; 2]>> for AutoSimd<[f64; 2]>

impl SubsetOf<AutoSimd<[f64; 4]>> for AutoSimd<[f64; 4]>

impl SubsetOf<AutoSimd<[f64; 8]>> for AutoSimd<[f64; 8]>

impl SubsetOf<AutoSimd<[i8; 2]>> for AutoSimd<[i8; 2]>

impl SubsetOf<AutoSimd<[i8; 4]>> for AutoSimd<[i8; 4]>

impl SubsetOf<AutoSimd<[i8; 8]>> for AutoSimd<[i8; 8]>

impl SubsetOf<AutoSimd<[i8; 16]>> for AutoSimd<[i8; 16]>

impl SubsetOf<AutoSimd<[i8; 32]>> for AutoSimd<[i8; 32]>

impl SubsetOf<AutoSimd<[i16; 2]>> for AutoSimd<[i16; 2]>

impl SubsetOf<AutoSimd<[i16; 4]>> for AutoSimd<[i16; 4]>

impl SubsetOf<AutoSimd<[i16; 8]>> for AutoSimd<[i16; 8]>

impl SubsetOf<AutoSimd<[i16; 16]>> for AutoSimd<[i16; 16]>

impl SubsetOf<AutoSimd<[i16; 32]>> for AutoSimd<[i16; 32]>

impl SubsetOf<AutoSimd<[i32; 2]>> for AutoSimd<[i32; 2]>

impl SubsetOf<AutoSimd<[i32; 4]>> for AutoSimd<[i32; 4]>

impl SubsetOf<AutoSimd<[i32; 8]>> for AutoSimd<[i32; 8]>

impl SubsetOf<AutoSimd<[i32; 16]>> for AutoSimd<[i32; 16]>

impl SubsetOf<AutoSimd<[i64; 2]>> for AutoSimd<[i64; 2]>

impl SubsetOf<AutoSimd<[i64; 4]>> for AutoSimd<[i64; 4]>

impl SubsetOf<AutoSimd<[i64; 8]>> for AutoSimd<[i64; 8]>

impl SubsetOf<AutoSimd<[i128; 1]>> for AutoSimd<[i128; 1]>

impl SubsetOf<AutoSimd<[i128; 2]>> for AutoSimd<[i128; 2]>

impl SubsetOf<AutoSimd<[i128; 4]>> for AutoSimd<[i128; 4]>

impl SubsetOf<AutoSimd<[isize; 2]>> for AutoSimd<[isize; 2]>

impl SubsetOf<AutoSimd<[isize; 4]>> for AutoSimd<[isize; 4]>

impl SubsetOf<AutoSimd<[isize; 8]>> for AutoSimd<[isize; 8]>

impl SubsetOf<AutoSimd<[u8; 2]>> for AutoSimd<[u8; 2]>

impl SubsetOf<AutoSimd<[u8; 4]>> for AutoSimd<[u8; 4]>

impl SubsetOf<AutoSimd<[u8; 8]>> for AutoSimd<[u8; 8]>

impl SubsetOf<AutoSimd<[u8; 16]>> for AutoSimd<[u8; 16]>

impl SubsetOf<AutoSimd<[u8; 32]>> for AutoSimd<[u8; 32]>

impl SubsetOf<AutoSimd<[u16; 2]>> for AutoSimd<[u16; 2]>

impl SubsetOf<AutoSimd<[u16; 4]>> for AutoSimd<[u16; 4]>

impl SubsetOf<AutoSimd<[u16; 8]>> for AutoSimd<[u16; 8]>

impl SubsetOf<AutoSimd<[u16; 16]>> for AutoSimd<[u16; 16]>

impl SubsetOf<AutoSimd<[u16; 32]>> for AutoSimd<[u16; 32]>

impl SubsetOf<AutoSimd<[u32; 2]>> for AutoSimd<[u32; 2]>

impl SubsetOf<AutoSimd<[u32; 4]>> for AutoSimd<[u32; 4]>

impl SubsetOf<AutoSimd<[u32; 8]>> for AutoSimd<[u32; 8]>

impl SubsetOf<AutoSimd<[u32; 16]>> for AutoSimd<[u32; 16]>

impl SubsetOf<AutoSimd<[u64; 2]>> for AutoSimd<[u64; 2]>

impl SubsetOf<AutoSimd<[u64; 4]>> for AutoSimd<[u64; 4]>

impl SubsetOf<AutoSimd<[u64; 8]>> for AutoSimd<[u64; 8]>

impl SubsetOf<AutoSimd<[u128; 1]>> for AutoSimd<[u128; 1]>

impl SubsetOf<AutoSimd<[u128; 2]>> for AutoSimd<[u128; 2]>

impl SubsetOf<AutoSimd<[u128; 4]>> for AutoSimd<[u128; 4]>

impl SubsetOf<AutoSimd<[usize; 2]>> for AutoSimd<[usize; 2]>

impl SubsetOf<AutoSimd<[usize; 4]>> for AutoSimd<[usize; 4]>

impl SubsetOf<AutoSimd<[usize; 8]>> for AutoSimd<[usize; 8]>

impl<N1, N2> SubsetOf<Complex<N2>> for Complex<N1> where
    N2: SupersetOf<N1>, 

impl<N1, N2> SubsetOf<Matrix<N2, U3, U3, <DefaultAllocator as Allocator<N2, U3, U3>>::Buffer>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Matrix<N2, U4, U4, <DefaultAllocator as Allocator<N2, U4, U4>>::Buffer>> for Unit<Quaternion<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Quaternion<N2>> for Quaternion<N1> where
    N1: SimdRealField,
    N2: SimdRealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Rotation<N2, U2>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Rotation<N2, U3>> for Unit<Quaternion<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for Rotation<N1, U2> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Complex<N2>>> for Unit<Complex<N1>> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Quaternion<N2>>> for Rotation<N1, U3> where
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2> SubsetOf<Unit<Quaternion<N2>>> for Unit<Quaternion<N1>> where
    N1: SimdRealField,
    N2: SimdRealField + SupersetOf<N1>, 
[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U2, C>> for Unit<Complex<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, C> SubsetOf<Transform<N2, U3, C>> for Unit<Quaternion<N1>> where
    C: SuperTCategoryOf<TAffine>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Rotation<N1, D> where
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Translation<N1, D> where
    D: DimNameAdd<U1>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>, 
[src]

impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, U1, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>>::Buffer>> for Point<N1, D> where
    D: DimNameAdd<U1>,
    N1: Scalar,
    N2: Scalar + Zero + One + ClosedDiv<N2> + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Point<N2, D>> for Point<N1, D> where
    D: DimName,
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, D, U1>, 
[src]

impl<N1, N2, D> SubsetOf<Rotation<N2, D>> for Rotation<N1, D> where
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>, 
[src]

impl<N1, N2, D> SubsetOf<Translation<N2, D>> for Translation<N1, D> where
    D: DimName,
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, C1, C2> SubsetOf<Transform<N2, D, C2>> for Transform<N1, D, C1> where
    D: DimName + DimNameAdd<U1>,
    C2: SuperTCategoryOf<C1>,
    N1: RealField + SubsetOf<N2>,
    N2: RealField,
    C1: TCategory,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    <N1 as AbsDiffEq<N1>>::Epsilon: Copy,
    <N2 as AbsDiffEq<N2>>::Epsilon: Copy
[src]

impl<N1, N2, D, C> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Transform<N1, D, C> where
    C: TCategory,
    D: DimName + DimNameAdd<U1>,
    N1: RealField + SubsetOf<N2>,
    N2: RealField,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    <N1 as AbsDiffEq<N1>>::Epsilon: Copy,
    <N2 as AbsDiffEq<N2>>::Epsilon: Copy
[src]

impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Rotation<N1, D> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>, 
[src]

impl<N1, N2, D, C> SubsetOf<Transform<N2, D, C>> for Translation<N1, D> where
    C: SuperTCategoryOf<TAffine>,
    D: DimNameAdd<U1>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Isometry<N2, D, R2>> for Isometry<N1, D, R1> where
    D: DimName,
    R2: AbstractRotation<N2, D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Isometry<N1, D, R1> where
    D: DimName,
    R2: AbstractRotation<N2, D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R1, R2> SubsetOf<Similarity<N2, D, R2>> for Similarity<N1, D, R1> where
    D: DimName,
    R2: AbstractRotation<N2, D>,
    N1: RealField + SubsetOf<N2>,
    N2: RealField + SupersetOf<N1>,
    R1: AbstractRotation<N1, D> + SubsetOf<R2>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Isometry<N2, D, R>> for Rotation<N1, D> where
    R: AbstractRotation<N2, D> + SupersetOf<Rotation<N1, D>>,
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Isometry<N2, D, R>> for Translation<N1, D> where
    R: AbstractRotation<N2, D>,
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Isometry<N1, D, R> where
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> for Similarity<N1, D, R> where
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Similarity<N2, D, R>> for Rotation<N1, D> where
    R: AbstractRotation<N2, D> + SupersetOf<Rotation<N1, D>>,
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R> SubsetOf<Similarity<N2, D, R>> for Translation<N1, D> where
    R: AbstractRotation<N2, D>,
    D: DimName,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Isometry<N1, D, R> where
    C: SuperTCategoryOf<TAffine>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, D, R, C> SubsetOf<Transform<N2, D, C>> for Similarity<N1, D, R> where
    C: SuperTCategoryOf<TAffine>,
    R: AbstractRotation<N1, D> + SubsetOf<Matrix<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>> + SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>>::Buffer>>,
    D: DimNameAdd<U1> + DimMin<D, Output = D>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>,
    DefaultAllocator: Allocator<N1, D, U1>,
    DefaultAllocator: Allocator<N1, D, D>,
    DefaultAllocator: Allocator<N1, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<(usize, usize), D, U1>,
    DefaultAllocator: Allocator<N2, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
    DefaultAllocator: Allocator<N2, D, D>,
    DefaultAllocator: Allocator<N2, D, U1>, 
[src]

impl<N1, N2, R1, C1, R2, C2> SubsetOf<Matrix<N2, R2, C2, <DefaultAllocator as Allocator<N2, R2, C2>>::Buffer>> for Matrix<N1, R1, C1, <DefaultAllocator as Allocator<N1, R1, C1>>::Buffer> where
    R2: Dim,
    C2: Dim,
    N1: Scalar,
    N2: Scalar + SupersetOf<N1>,
    R1: Dim,
    C1: Dim,
    DefaultAllocator: Allocator<N2, R2, C2>,
    DefaultAllocator: Allocator<N1, R1, C1>,
    DefaultAllocator: SameShapeAllocator<N1, R1, C1, R2, C2>,
    ShapeConstraint: SameNumberOfRows<R1, R2>,
    ShapeConstraint: SameNumberOfColumns<C1, C2>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U2, R>> for Unit<Complex<N1>> where
    R: AbstractRotation<N2, U2> + SupersetOf<Unit<Complex<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Isometry<N2, U3, R>> for Unit<Quaternion<N1>> where
    R: AbstractRotation<N2, U3> + SupersetOf<Unit<Quaternion<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Similarity<N2, U2, R>> for Unit<Complex<N1>> where
    R: AbstractRotation<N2, U2> + SupersetOf<Unit<Complex<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

impl<N1, N2, R> SubsetOf<Similarity<N2, U3, R>> for Unit<Quaternion<N1>> where
    R: AbstractRotation<N2, U3> + SupersetOf<Unit<Quaternion<N1>>>,
    N1: RealField,
    N2: RealField + SupersetOf<N1>, 
[src]

Loading content...