Enum zng_unit::Orientation2D

source ·
pub enum Orientation2D {
    Above,
    Right,
    Below,
    Left,
}
Expand description

Orientation of two 2D items.

Variants§

§

Above

Point is above the origin.

§

Right

Point is to the right of the origin.

§

Below

Point is below the origin.

§

Left

Point is to the left of the origin.

Implementations§

source§

impl Orientation2D

source

pub fn point_is(self, origin: PxPoint, point: PxPoint) -> bool

Check if point is orientation from origin.

Returns true if the point is hit by a 45º frustum cast from origin in the direction defined by the orientation.

source

pub fn box_is(self, origin: PxBox, b: PxBox) -> bool

Check if b is orientation from origin.

Returns true if the box b collides with the box origin in the direction defined by orientation. Also returns true if the boxes already overlap.

source

pub fn search_bounds( self, origin: PxPoint, max_distance: Px, spatial_bounds: PxBox ) -> impl Iterator<Item = PxBox>

Iterator that yields quadrants for efficient search in a quad-tree, if a point is inside a quadrant and passes the Orientation2D::point_is check it is in the orientation, them if it is within the max_distance it is valid.

Trait Implementations§

source§

impl Clone for Orientation2D

source§

fn clone(&self) -> Orientation2D

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Orientation2D

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Orientation2D

source§

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 PartialEq for Orientation2D

source§

fn eq(&self, other: &Orientation2D) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Orientation2D

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for Orientation2D

source§

impl Eq for Orientation2D

source§

impl StructuralPartialEq for Orientation2D

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

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