pub type Reflection4<T> = Reflection<T, Const<4>, ArrayStorage<T, 4, 1>>;
Expand description

A 4-dimensional reflection.

Aliased Type§

struct Reflection4<T> { /* private fields */ }

Implementations§

source§

impl<T, S, const D: usize> Reflection<T, Const<D>, S>where T: ComplexField, S: Storage<T, Const<D>, Const<1>>,

source

pub fn new_containing_point( axis: Unit<Matrix<T, Const<D>, Const<1>, S>>, pt: &OPoint<T, Const<D>> ) -> Reflection<T, Const<D>, S>

Creates a new reflection wrt. the plane orthogonal to the given axis and that contains the point pt.

source§

impl<T, D, S> Reflection<T, D, S>where T: ComplexField, D: Dim, S: Storage<T, D, Const<1>>,

source

pub fn new( axis: Unit<Matrix<T, D, Const<1>, S>>, bias: T ) -> Reflection<T, D, S>

Creates a new reflection wrt. the plane orthogonal to the given axis and bias.

The bias is the position of the plane on the axis. In particular, a bias equal to zero represents a plane that passes through the origin.

source

pub fn axis(&self) -> &Matrix<T, D, Const<1>, S>

The reflection axis.

source

pub fn bias(&self) -> T

The reflection bias.

The bias is the position of the plane on the axis. In particular, a bias equal to zero represents a plane that passes through the origin.

source

pub fn reflect<R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>, ShapeConstraint: SameNumberOfRows<R2, D>,

Applies the reflection to the columns of rhs.

source

pub fn reflect_with_sign<R2, C2, S2>( &self, rhs: &mut Matrix<T, R2, C2, S2>, sign: T )where R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>, ShapeConstraint: SameNumberOfRows<R2, D>,

Applies the reflection to the columns of rhs.

source

pub fn reflect_rows<R2, C2, S2, S3>( &self, lhs: &mut Matrix<T, R2, C2, S2>, work: &mut Matrix<T, R2, Const<1>, S3> )where R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>, S3: StorageMut<T, R2, Const<1>>, ShapeConstraint: DimEq<C2, D> + AreMultipliable<R2, C2, D, Const<1>>,

Applies the reflection to the rows of lhs.

source

pub fn reflect_rows_with_sign<R2, C2, S2, S3>( &self, lhs: &mut Matrix<T, R2, C2, S2>, work: &mut Matrix<T, R2, Const<1>, S3>, sign: T )where R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>, S3: StorageMut<T, R2, Const<1>>, ShapeConstraint: DimEq<C2, D> + AreMultipliable<R2, C2, D, Const<1>>,

Applies the reflection to the rows of lhs.