#[non_exhaustive]pub enum ViewProjection {
Orthographic,
Perspective,
}Expand description
How a view maps model points to the image.
Orthographic is the default. The in-tree hidden-line
providers draw both projections; the visible-face providers draw only the
orthographic one. A provider says which it draws with
supports_projection on MeshHiddenLines and crate::MeshVisibleFaces
(ADR 0107), and a registry never hands it a view it does not support.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Orthographic
Parallel projection along the frame’s -z axis.
Perspective
Central projection from the eye at the frame’s origin onto the plane
W = -1: the image of a point with view coordinates (U, V, W) and
W < 0 is (U / -W, V / -W). The view requires near < 0, so every
kept point is strictly in front of the eye.
Trait Implementations§
Source§impl Clone for ViewProjection
impl Clone for ViewProjection
Source§fn clone(&self) -> ViewProjection
fn clone(&self) -> ViewProjection
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ViewProjection
Source§impl Debug for ViewProjection
impl Debug for ViewProjection
Source§impl Default for ViewProjection
impl Default for ViewProjection
Source§fn default() -> ViewProjection
fn default() -> ViewProjection
Returns the “default value” for a type. Read more
impl Eq for ViewProjection
Source§impl PartialEq for ViewProjection
impl PartialEq for ViewProjection
impl StructuralPartialEq for ViewProjection
Auto Trait Implementations§
impl Freeze for ViewProjection
impl RefUnwindSafe for ViewProjection
impl Send for ViewProjection
impl Sync for ViewProjection
impl Unpin for ViewProjection
impl UnsafeUnpin for ViewProjection
impl UnwindSafe for ViewProjection
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
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,
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