#[repr(C)]pub struct Point3<F>(pub Vec3<F>);Expand description
Point vector in 3-dimensions
Tuple Fields§
§0: Vec3<F>Implementations§
Methods from Deref<Target = Vec3<F>>§
pub fn truncate_n(&self, n: usize) -> Vec2<F>
pub fn truncate_x(&self) -> Vec2<F>
pub fn truncate_y(&self) -> Vec2<F>
pub fn truncate_z(&self) -> Vec2<F>
pub fn squared_magnitude(&self) -> F
pub fn magnitude(&self) -> F
pub fn is_normal(&self) -> bool
pub fn dot(&self, rhs: Vec3<F>) -> F
pub fn project_onto(&self, axis: Vec3<F>) -> Vec3<F>
pub fn reject_onto(&self, axis: Vec3<F>) -> Vec3<F>
pub fn exp(&self) -> Vec3<F>
pub fn cross(&self, rhs: Vec3<F>) -> Vec3<F>
pub fn triple_product(&self, b: Vec3<F>, c: Vec3<F>) -> F
pub fn to_vec4(&self, w: F) -> Vec4<F>
Trait Implementations§
Source§impl<F: FullFloat> ApproxEq for Point3<F>
impl<F: FullFloat> ApproxEq for Point3<F>
type Flt = F
Source§fn approx_eq(
&self,
other: &Self,
epsilon: <F as ApproxEq>::Flt,
ulps: <<F as ApproxEq>::Flt as Ulps>::U,
) -> bool
fn approx_eq( &self, other: &Self, epsilon: <F as ApproxEq>::Flt, ulps: <<F as ApproxEq>::Flt as Ulps>::U, ) -> bool
This method tests for
self and other values to be approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§fn approx_ne(
&self,
other: &Self,
epsilon: Self::Flt,
ulps: <Self::Flt as Ulps>::U,
) -> bool
fn approx_ne( &self, other: &Self, epsilon: Self::Flt, ulps: <Self::Flt as Ulps>::U, ) -> bool
This method tests for
self and other values to be not approximately equal
using two methods: epsilon and ulps. If the values differ by less than the
given epsilon, they will be considered equal. If the values differ by more
than epsilon, but by less than the given ulps, they will also be considered
equal. Otherwise they are unequal. Read moreSource§impl<'de, F> Deserialize<'de> for Point3<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for Point3<F>where
F: Deserialize<'de>,
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
impl<F: Copy> Copy for Point3<F>
impl<F: Eq> Eq for Point3<F>
impl<F> StructuralPartialEq for Point3<F>
Auto Trait Implementations§
impl<F> Freeze for Point3<F>where
F: Freeze,
impl<F> RefUnwindSafe for Point3<F>where
F: RefUnwindSafe,
impl<F> Send for Point3<F>where
F: Send,
impl<F> Sync for Point3<F>where
F: Sync,
impl<F> Unpin for Point3<F>where
F: Unpin,
impl<F> UnwindSafe for Point3<F>where
F: UnwindSafe,
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