[][src]Trait oxygengine_physics_2d::prelude::utils::GeneralizedCross

pub trait GeneralizedCross {
    type Rhs;
    type CrossVector;
    type CrossMatrix;
    type CrossMatrixTr;
    fn gcross(&self, rhs: &Self::Rhs) -> Self::CrossVector;
fn gcross_matrix(&self) -> Self::CrossMatrix;
fn gcross_matrix_tr(&self) -> Self::CrossMatrixTr; }

This is a non-standard generalization of the cross product design exclusively to group the 3D cross product and the 2D perpendicular product behind the same interface.

Associated Types

type Rhs

The right-hand-side of this cross product.

type CrossVector

The result type of the this (non-standard) generalized cross product.

type CrossMatrix

The matrix representation of this (non-standard) generalized cross product.

type CrossMatrixTr

The transposed matrix representation of this (non-standard) generalized cross product.

Loading content...

Required methods

fn gcross(&self, rhs: &Self::Rhs) -> Self::CrossVector

Computes this (non-standard) generalized cross product.

fn gcross_matrix(&self) -> Self::CrossMatrix

Computes the matrix represenattion of this (non-standard) generalized cross product.

fn gcross_matrix_tr(&self) -> Self::CrossMatrixTr

Computes the transposed matrix represenattion of this (non-standard) generalized cross product.

Loading content...

Implementors

impl<N> GeneralizedCross for Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer> where
    N: RealField
[src]

type Rhs = Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>

type CrossVector = Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>

type CrossMatrix = Matrix<N, U2, U2, <DefaultAllocator as Allocator<N, U2, U2>>::Buffer>

type CrossMatrixTr = Matrix<N, U2, U2, <DefaultAllocator as Allocator<N, U2, U2>>::Buffer>

impl<N> GeneralizedCross for Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer> where
    N: RealField
[src]

type Rhs = Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>

type CrossVector = Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>

type CrossMatrix = Matrix<N, U1, U2, <DefaultAllocator as Allocator<N, U1, U2>>::Buffer>

type CrossMatrixTr = Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>

impl<N> GeneralizedCross for Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer> where
    N: RealField
[src]

type Rhs = Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>

type CrossVector = Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>

type CrossMatrix = Matrix<N, U3, U3, <DefaultAllocator as Allocator<N, U3, U3>>::Buffer>

type CrossMatrixTr = Matrix<N, U3, U3, <DefaultAllocator as Allocator<N, U3, U3>>::Buffer>

Loading content...