pub struct Matrix3d<T> {Show 16 fields
pub m11: T,
pub m12: T,
pub m13: T,
pub m14: T,
pub m21: T,
pub m22: T,
pub m23: T,
pub m24: T,
pub m31: T,
pub m32: T,
pub m33: T,
pub m34: T,
pub m41: T,
pub m42: T,
pub m43: T,
pub m44: T,
}Expand description
A 3D matrix.
Fields§
§m11: T§m12: T§m13: T§m14: T§m21: T§m22: T§m23: T§m24: T§m31: T§m32: T§m33: T§m34: T§m41: T§m42: T§m43: T§m44: TImplementations§
Source§impl Matrix3d<f32>
impl Matrix3d<f32>
Sourcepub fn perspective(d: f32) -> Matrix3d<f32>
pub fn perspective(d: f32) -> Matrix3d<f32>
Creates a perspective matrix.
Sourcepub fn multiply(&self, other: &Self) -> Self
pub fn multiply(&self, other: &Self) -> Self
Multiplies this matrix by another, returning a new matrix.
Sourcepub fn to_matrix2d(&self) -> Option<Matrix<f32>>
pub fn to_matrix2d(&self) -> Option<Matrix<f32>>
Attempts to convert the matrix to 2D.
Returns None if the conversion is not possible.
Sourcepub fn scale_by_factor(&mut self, scaling_factor: f32)
pub fn scale_by_factor(&mut self, scaling_factor: f32)
Scales the matrix by the given factor.
Sourcepub fn determinant(&self) -> f32
pub fn determinant(&self) -> f32
Returns the determinant of the matrix.
Sourcepub fn decompose(&self) -> Option<TransformList>
pub fn decompose(&self) -> Option<TransformList>
Decomposes the matrix into a list of transform functions if possible.
Trait Implementations§
Source§impl<'de, T> Deserialize<'de> for Matrix3d<T>where
T: Deserialize<'de>,
Available on crate feature serde only.
impl<'de, T> Deserialize<'de> for Matrix3d<T>where
T: Deserialize<'de>,
Available on crate feature
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T: JsonSchema> JsonSchema for Matrix3d<T>
Available on crate feature jsonschema only.
impl<T: JsonSchema> JsonSchema for Matrix3d<T>
Available on crate feature
jsonschema only.Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreimpl<T: PartialEq> StructuralPartialEq for Matrix3d<T>
Source§impl<'i, T, __T: Visit<'i, __T, __V>, __V: ?Sized + Visitor<'i, __T>> Visit<'i, __T, __V> for Matrix3d<T>where
T: Visit<'i, __T, __V>,
Available on crate feature visitor only.
impl<'i, T, __T: Visit<'i, __T, __V>, __V: ?Sized + Visitor<'i, __T>> Visit<'i, __T, __V> for Matrix3d<T>where
T: Visit<'i, __T, __V>,
Available on crate feature
visitor only.Source§const CHILD_TYPES: VisitTypes
const CHILD_TYPES: VisitTypes
The types of values contained within this value and its children.
This is used to skip branches that don’t have any values requested
by the Visitor.
Auto Trait Implementations§
impl<T> Freeze for Matrix3d<T>where
T: Freeze,
impl<T> RefUnwindSafe for Matrix3d<T>where
T: RefUnwindSafe,
impl<T> Send for Matrix3d<T>where
T: Send,
impl<T> Sync for Matrix3d<T>where
T: Sync,
impl<T> Unpin for Matrix3d<T>where
T: Unpin,
impl<T> UnsafeUnpin for Matrix3d<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Matrix3d<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.