Struct ProjectionMatrix
pub struct ProjectionMatrix(/* private fields */);Expand description
The projection matrix which is used to project the 3D space to the 2D display panel
Implementations§
§impl ProjectionMatrix
impl ProjectionMatrix
pub fn one() -> ProjectionMatrix
pub fn one() -> ProjectionMatrix
Returns the identity matrix
pub fn zero() -> ProjectionMatrix
pub fn zero() -> ProjectionMatrix
Returns the zero maxtrix
pub fn shift(x: f64, y: f64, z: f64) -> ProjectionMatrix
pub fn shift(x: f64, y: f64, z: f64) -> ProjectionMatrix
Returns the matrix which shift the coordinate
pub fn rotate(x: f64, y: f64, z: f64) -> ProjectionMatrix
pub fn rotate(x: f64, y: f64, z: f64) -> ProjectionMatrix
Returns the matrix which rotates the coordinate
pub fn scale(factor: f64) -> ProjectionMatrix
pub fn scale(factor: f64) -> ProjectionMatrix
Returns the matrix that applies a scale factor
pub fn normalize(&mut self)
pub fn normalize(&mut self)
Normalize the matrix, this will make the metric unit to 1
pub fn projected_depth(&self, _: (i32, i32, i32)) -> i32
pub fn projected_depth(&self, _: (i32, i32, i32)) -> i32
Get the distance of the point in guest coordinate from the screen in pixels
Trait Implementations§
§impl Clone for ProjectionMatrix
impl Clone for ProjectionMatrix
§fn clone(&self) -> ProjectionMatrix
fn clone(&self) -> ProjectionMatrix
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ProjectionMatrix
impl Debug for ProjectionMatrix
§impl Default for ProjectionMatrix
impl Default for ProjectionMatrix
§fn default() -> ProjectionMatrix
fn default() -> ProjectionMatrix
Returns the “default value” for a type. Read more
§impl Mul for ProjectionMatrix
impl Mul for ProjectionMatrix
§type Output = ProjectionMatrix
type Output = ProjectionMatrix
The resulting type after applying the
* operator.§fn mul(self, other: ProjectionMatrix) -> ProjectionMatrix
fn mul(self, other: ProjectionMatrix) -> ProjectionMatrix
Performs the
* operation. Read moreimpl Copy for ProjectionMatrix
Auto Trait Implementations§
impl Freeze for ProjectionMatrix
impl RefUnwindSafe for ProjectionMatrix
impl Send for ProjectionMatrix
impl Sync for ProjectionMatrix
impl Unpin for ProjectionMatrix
impl UnwindSafe for ProjectionMatrix
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().