[][src]Struct oxygengine_navigation::resource::NavVec3

#[repr(C)]pub struct NavVec3 {
    pub x: f32,
    pub y: f32,
    pub z: f32,
}

Fields

x: f32y: f32z: f32

Implementations

impl NavVec3[src]

pub fn new(x: f32, y: f32, z: f32) -> NavVec3[src]

pub fn sqr_magnitude(self) -> f32[src]

pub fn magnitude(self) -> f32[src]

pub fn same_as(self, other: NavVec3) -> bool[src]

pub fn cross(self, other: NavVec3) -> NavVec3[src]

pub fn dot(self, other: NavVec3) -> f32[src]

pub fn normalize(self) -> NavVec3[src]

pub fn abs(self) -> NavVec3[src]

pub fn lerp(self, other: NavVec3, factor: f32) -> NavVec3[src]

pub fn project(self, from: NavVec3, to: NavVec3) -> f32[src]

pub fn unproject(from: NavVec3, to: NavVec3, t: f32) -> NavVec3[src]

pub fn min(self, other: NavVec3) -> NavVec3[src]

pub fn max(self, other: NavVec3) -> NavVec3[src]

pub fn distance_to_plane(self, origin: NavVec3, normal: NavVec3) -> f32[src]

pub fn is_above_plane(self, origin: NavVec3, normal: NavVec3) -> bool[src]

pub fn project_on_plane(self, origin: NavVec3, normal: NavVec3) -> NavVec3[src]

pub fn raycast_plane(
    from: NavVec3,
    to: NavVec3,
    origin: NavVec3,
    normal: NavVec3
) -> Option<NavVec3>
[src]

pub fn raycast_line(
    from: NavVec3,
    to: NavVec3,
    a: NavVec3,
    b: NavVec3,
    normal: NavVec3
) -> Option<NavVec3>
[src]

pub fn raycast_line_exact(
    from: NavVec3,
    to: NavVec3,
    a: NavVec3,
    b: NavVec3,
    normal: NavVec3
) -> Option<NavVec3>
[src]

pub fn raycast_triangle(
    from: NavVec3,
    to: NavVec3,
    a: NavVec3,
    b: NavVec3,
    c: NavVec3
) -> Option<NavVec3>
[src]

pub fn planes_intersection(
    p1: NavVec3,
    n1: NavVec3,
    p2: NavVec3,
    n2: NavVec3
) -> Option<(NavVec3, NavVec3)>
[src]

line: (origin, normal)

pub fn is_line_between_points(
    from: NavVec3,
    to: NavVec3,
    a: NavVec3,
    b: NavVec3,
    normal: NavVec3
) -> bool
[src]

Trait Implementations

impl AbsDiffEq<NavVec3> for NavVec3[src]

type Epsilon = <f32 as AbsDiffEq<f32>>::Epsilon

Used for specifying relative comparisons.

impl Add<NavVec3> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the + operator.

impl Add<f32> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the + operator.

impl Clone for NavVec3[src]

impl Copy for NavVec3[src]

impl Debug for NavVec3[src]

impl Default for NavVec3[src]

impl<'de> Deserialize<'de> for NavVec3[src]

impl Div<NavVec3> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the / operator.

impl Div<f32> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the / operator.

impl From<[f32; 2]> for NavVec3[src]

impl From<[f32; 3]> for NavVec3[src]

impl From<(f32, f32, f32)> for NavVec3[src]

impl From<(f32, f32)> for NavVec3[src]

impl Mul<NavVec3> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the * operator.

impl Mul<f32> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the * operator.

impl Neg for NavVec3[src]

type Output = NavVec3

The resulting type after applying the - operator.

impl PartialEq<NavVec3> for NavVec3[src]

impl PointN for NavVec3[src]

type Scalar = f32

The points's internal scalar type.

impl RelativeEq<NavVec3> for NavVec3[src]

impl Serialize for NavVec3[src]

impl StructuralPartialEq for NavVec3[src]

impl Sub<NavVec3> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the - operator.

impl Sub<f32> for NavVec3[src]

type Output = NavVec3

The resulting type after applying the - operator.

impl UlpsEq<NavVec3> for NavVec3[src]

Auto Trait Implementations

impl RefUnwindSafe for NavVec3

impl Send for NavVec3

impl Sync for NavVec3

impl Unpin for NavVec3

impl UnwindSafe for NavVec3

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> ClosedNeg for T where
    T: Neg<Output = T>, 

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> Event for T where
    T: Send + Sync + 'static, 

impl<T> From<T> for T[src]

impl<V> HasPosition for V where
    V: PointN, 

type Point = V

The object's point type

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Resource for T where
    T: Any, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

impl<S> SpatialObject for S where
    S: HasPosition, 

type Point = <S as HasPosition>::Point

The object's point type.

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryDefault for T where
    T: Default

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,