[−][src]Struct cgmath::Matrix3
A 3 x 3, column major matrix
This type is marked as #[repr(C)]
.
Fields
x: Vector3<S>
The first column of the matrix.
y: Vector3<S>
The second column of the matrix.
z: Vector3<S>
The third column of the matrix.
Methods
impl<S: BaseFloat> Matrix3<S>
[src][−]
pub fn new(
c0r0: S,
c0r1: S,
c0r2: S,
c1r0: S,
c1r1: S,
c1r2: S,
c2r0: S,
c2r1: S,
c2r2: S
) -> Matrix3<S>
[src][−]
c0r0: S,
c0r1: S,
c0r2: S,
c1r0: S,
c1r1: S,
c1r2: S,
c2r0: S,
c2r1: S,
c2r2: S
) -> Matrix3<S>
Create a new matrix, providing values for each index.
pub fn from_cols(c0: Vector3<S>, c1: Vector3<S>, c2: Vector3<S>) -> Matrix3<S>
[src][−]
Create a new matrix, providing columns.
pub fn look_at(dir: Vector3<S>, up: Vector3<S>) -> Matrix3<S>
[src][−]
Create a rotation matrix that will cause a vector to point at
dir
, using up
for orientation.
pub fn from_angle_x<A: Into<Rad<S>>>(theta: A) -> Matrix3<S>
[src][−]
Create a rotation matrix from a rotation around the x
axis (pitch).
pub fn from_angle_y<A: Into<Rad<S>>>(theta: A) -> Matrix3<S>
[src][−]
Create a rotation matrix from a rotation around the y
axis (yaw).
pub fn from_angle_z<A: Into<Rad<S>>>(theta: A) -> Matrix3<S>
[src][−]
Create a rotation matrix from a rotation around the z
axis (roll).
pub fn from_axis_angle<A: Into<Rad<S>>>(
axis: Vector3<S>,
angle: A
) -> Matrix3<S>
[src][−]
axis: Vector3<S>,
angle: A
) -> Matrix3<S>
Create a rotation matrix from an angle around an arbitrary axis.
The specified axis must be normalized, or it represents an invalid rotation.
impl<S: NumCast + Copy> Matrix3<S>
[src][−]
Trait Implementations
impl<S: BaseFloat> VectorSpace for Matrix3<S>
[src]
type Scalar = S
The associated scalar.
impl<S: BaseFloat> Matrix for Matrix3<S>
[src][+]
impl<S: BaseFloat> SquareMatrix for Matrix3<S>
[src][+]
impl<S: BaseFloat> Transform<Point2<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> Transform<Point3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> Transform2<S> for Matrix3<S>
[src]
impl<S: BaseFloat> Transform3<S> for Matrix3<S>
[src]
impl<S: Copy> Copy for Matrix3<S>
[src]
impl<S> AsRef<[[S; 3]; 3]> for Matrix3<S>
[src][+]
impl<S> AsRef<[S; 9]> for Matrix3<S>
[src][+]
impl<S> AsRef<Matrix3<S>> for Basis3<S>
[src][+]
impl<S: Clone> Clone for Matrix3<S>
[src][+]
impl<S: PartialEq> PartialEq<Matrix3<S>> for Matrix3<S>
[src][+]
impl<A> From<Euler<A>> for Matrix3<A::Unitless> where
A: Angle + Into<Rad<<A as Angle>::Unitless>>,
[src][+]
A: Angle + Into<Rad<<A as Angle>::Unitless>>,
impl<S: Copy> From<[[S; 3]; 3]> for Matrix3<S>
[src][+]
impl<'a, S> From<&'a [[S; 3]; 3]> for &'a Matrix3<S>
[src][+]
impl<'a, S> From<&'a mut [[S; 3]; 3]> for &'a mut Matrix3<S>
[src][+]
impl<'a, S> From<&'a [S; 9]> for &'a Matrix3<S>
[src][+]
impl<'a, S> From<&'a mut [S; 9]> for &'a mut Matrix3<S>
[src][+]
impl<S> From<ColumnMatrix3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> From<Matrix2<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> From<Matrix3<S>> for Matrix4<S>
[src][+]
impl<S: BaseFloat> From<Matrix3<S>> for Quaternion<S>
[src][+]
impl<S: BaseFloat> From<Quaternion<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> From<Basis3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat, R: Rotation2<S>> From<Decomposed<Vector2<S>, R>> for Matrix3<S>
[src][+]
impl<S> Into<[[S; 3]; 3]> for Matrix3<S>
[src][+]
impl<S: Clone> Into<ColumnMatrix3<S>> for Matrix3<S>
[src][+]
impl<S> AsMut<[[S; 3]; 3]> for Matrix3<S>
[src][+]
impl<S> AsMut<[S; 9]> for Matrix3<S>
[src][+]
impl<S: Debug> Debug for Matrix3<S>
[src][+]
impl<S: BaseFloat> Rem<S> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Rem<S> for &'a Matrix3<S>
[src][+]
impl Rem<Matrix3<usize>> for usize
[src][+]
impl<'a> Rem<&'a Matrix3<usize>> for usize
[src][+]
impl Rem<Matrix3<u8>> for u8
[src][+]
impl<'a> Rem<&'a Matrix3<u8>> for u8
[src][+]
impl Rem<Matrix3<u16>> for u16
[src][+]
impl<'a> Rem<&'a Matrix3<u16>> for u16
[src][+]
impl Rem<Matrix3<u32>> for u32
[src][+]
impl<'a> Rem<&'a Matrix3<u32>> for u32
[src][+]
impl Rem<Matrix3<u64>> for u64
[src][+]
impl<'a> Rem<&'a Matrix3<u64>> for u64
[src][+]
impl Rem<Matrix3<isize>> for isize
[src][+]
impl<'a> Rem<&'a Matrix3<isize>> for isize
[src][+]
impl Rem<Matrix3<i8>> for i8
[src][+]
impl<'a> Rem<&'a Matrix3<i8>> for i8
[src][+]
impl Rem<Matrix3<i16>> for i16
[src][+]
impl<'a> Rem<&'a Matrix3<i16>> for i16
[src][+]
impl Rem<Matrix3<i32>> for i32
[src][+]
impl<'a> Rem<&'a Matrix3<i32>> for i32
[src][+]
impl Rem<Matrix3<i64>> for i64
[src][+]
impl<'a> Rem<&'a Matrix3<i64>> for i64
[src][+]
impl Rem<Matrix3<f32>> for f32
[src][+]
impl<'a> Rem<&'a Matrix3<f32>> for f32
[src][+]
impl Rem<Matrix3<f64>> for f64
[src][+]
impl<'a> Rem<&'a Matrix3<f64>> for f64
[src][+]
impl<S: BaseFloat> Add<Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Add<&'a Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Add<Matrix3<S>> for &'a Matrix3<S>
[src][+]
impl<'a, 'b, S: BaseFloat> Add<&'a Matrix3<S>> for &'b Matrix3<S>
[src][+]
impl<S: BaseFloat> Sub<Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Sub<&'a Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Sub<Matrix3<S>> for &'a Matrix3<S>
[src][+]
impl<'a, 'b, S: BaseFloat> Sub<&'a Matrix3<S>> for &'b Matrix3<S>
[src][+]
impl<S: BaseFloat> Mul<S> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Mul<S> for &'a Matrix3<S>
[src][+]
impl Mul<Matrix3<usize>> for usize
[src][+]
impl<'a> Mul<&'a Matrix3<usize>> for usize
[src][+]
impl Mul<Matrix3<u8>> for u8
[src][+]
impl<'a> Mul<&'a Matrix3<u8>> for u8
[src][+]
impl Mul<Matrix3<u16>> for u16
[src][+]
impl<'a> Mul<&'a Matrix3<u16>> for u16
[src][+]
impl Mul<Matrix3<u32>> for u32
[src][+]
impl<'a> Mul<&'a Matrix3<u32>> for u32
[src][+]
impl Mul<Matrix3<u64>> for u64
[src][+]
impl<'a> Mul<&'a Matrix3<u64>> for u64
[src][+]
impl Mul<Matrix3<isize>> for isize
[src][+]
impl<'a> Mul<&'a Matrix3<isize>> for isize
[src][+]
impl Mul<Matrix3<i8>> for i8
[src][+]
impl<'a> Mul<&'a Matrix3<i8>> for i8
[src][+]
impl Mul<Matrix3<i16>> for i16
[src][+]
impl<'a> Mul<&'a Matrix3<i16>> for i16
[src][+]
impl Mul<Matrix3<i32>> for i32
[src][+]
impl<'a> Mul<&'a Matrix3<i32>> for i32
[src][+]
impl Mul<Matrix3<i64>> for i64
[src][+]
impl<'a> Mul<&'a Matrix3<i64>> for i64
[src][+]
impl Mul<Matrix3<f32>> for f32
[src][+]
impl<'a> Mul<&'a Matrix3<f32>> for f32
[src][+]
impl Mul<Matrix3<f64>> for f64
[src][+]
impl<'a> Mul<&'a Matrix3<f64>> for f64
[src][+]
impl<S: BaseFloat> Mul<Vector3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Mul<&'a Vector3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Mul<Vector3<S>> for &'a Matrix3<S>
[src][+]
impl<'a, 'b, S: BaseFloat> Mul<&'a Vector3<S>> for &'b Matrix3<S>
[src][+]
impl<S: BaseFloat> Mul<Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Mul<&'a Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Mul<Matrix3<S>> for &'a Matrix3<S>
[src][+]
impl<'a, 'b, S: BaseFloat> Mul<&'a Matrix3<S>> for &'b Matrix3<S>
[src][+]
impl<S: BaseFloat> Div<S> for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Div<S> for &'a Matrix3<S>
[src][+]
impl Div<Matrix3<usize>> for usize
[src][+]
impl<'a> Div<&'a Matrix3<usize>> for usize
[src][+]
impl Div<Matrix3<u8>> for u8
[src][+]
impl<'a> Div<&'a Matrix3<u8>> for u8
[src][+]
impl Div<Matrix3<u16>> for u16
[src][+]
impl<'a> Div<&'a Matrix3<u16>> for u16
[src][+]
impl Div<Matrix3<u32>> for u32
[src][+]
impl<'a> Div<&'a Matrix3<u32>> for u32
[src][+]
impl Div<Matrix3<u64>> for u64
[src][+]
impl<'a> Div<&'a Matrix3<u64>> for u64
[src][+]
impl Div<Matrix3<isize>> for isize
[src][+]
impl<'a> Div<&'a Matrix3<isize>> for isize
[src][+]
impl Div<Matrix3<i8>> for i8
[src][+]
impl<'a> Div<&'a Matrix3<i8>> for i8
[src][+]
impl Div<Matrix3<i16>> for i16
[src][+]
impl<'a> Div<&'a Matrix3<i16>> for i16
[src][+]
impl Div<Matrix3<i32>> for i32
[src][+]
impl<'a> Div<&'a Matrix3<i32>> for i32
[src][+]
impl Div<Matrix3<i64>> for i64
[src][+]
impl<'a> Div<&'a Matrix3<i64>> for i64
[src][+]
impl Div<Matrix3<f32>> for f32
[src][+]
impl<'a> Div<&'a Matrix3<f32>> for f32
[src][+]
impl Div<Matrix3<f64>> for f64
[src][+]
impl<'a> Div<&'a Matrix3<f64>> for f64
[src][+]
impl<S: BaseFloat> Neg for Matrix3<S>
[src][+]
impl<'a, S: BaseFloat> Neg for &'a Matrix3<S>
[src][+]
impl<S: BaseFloat + AddAssign<S>> AddAssign<Matrix3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat + SubAssign<S>> SubAssign<Matrix3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat + MulAssign<S>> MulAssign<S> for Matrix3<S>
[src][+]
impl<S: BaseFloat + DivAssign<S>> DivAssign<S> for Matrix3<S>
[src][+]
impl<S: BaseFloat + RemAssign<S>> RemAssign<S> for Matrix3<S>
[src][+]
impl<S> Index<usize> for Matrix3<S>
[src][+]
impl<S> IndexMut<usize> for Matrix3<S>
[src][+]
impl<S: BaseFloat> Product<Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: 'a + BaseFloat> Product<&'a Matrix3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> Sum<Matrix3<S>> for Matrix3<S>
[src][+]
impl<'a, S: 'a + BaseFloat> Sum<&'a Matrix3<S>> for Matrix3<S>
[src][+]
impl<S: BaseFloat> ApproxEq for Matrix3<S>
[src][+]
impl<S: BaseFloat + Rand> Rand for Matrix3<S>
[src][+]
impl<S: BaseFloat> Zero for Matrix3<S>
[src][+]
impl<S: BaseFloat> One for Matrix3<S>
[src][+]
Auto Trait Implementations
impl<S> Unpin for Matrix3<S> where
S: Unpin,
S: Unpin,
impl<S> Sync for Matrix3<S> where
S: Sync,
S: Sync,
impl<S> Send for Matrix3<S> where
S: Send,
S: Send,
impl<S> UnwindSafe for Matrix3<S> where
S: UnwindSafe,
S: UnwindSafe,
impl<S> RefUnwindSafe for Matrix3<S> where
S: RefUnwindSafe,
S: RefUnwindSafe,
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,