[][src]Struct myelin_geometry::Aabb

pub struct Aabb {
    pub upper_left: Point,
    pub lower_right: Point,
}

An axix-aligned bounding box

┼─────────────────────────────────────── x
│
│  Upper left → ┌─────────────┐
│               │             │
│               │             │
│               └─────────────┘ ← Lower right
│
y

Fields

upper_left: Point

The coordinates of the upper left corner of the box

lower_right: Point

The coordinates of the lower right corner of the box

Methods

impl Aabb[src]

pub fn try_new<P1, P2>(upper_left: P1, lower_right: P2) -> Result<Self, ()> where
    P1: Into<Point>,
    P2: Into<Point>, 
[src]

Creates a new Aabb from two points.

Examples

From tuples

use myelin_geometry::Aabb;

let area = Aabb::try_new((10.0, 0.0), (20.0, 10.0)).expect("Invalid aabb");

From points

use myelin_geometry::{Aabb, Point};

let area =
    Aabb::try_new(Point { x: 0.0, y: 10.0 }, Point { x: 20.0, y: 20.0 }).expect("Invalid aabb");

Errors

Returns an error when both points are the same.

Trait Implementations

impl Intersects<Aabb> for Aabb[src]

fn intersects(&self, other: &Aabb) -> bool[src]

Returns wether the bounds of another Aabb are touching or inside this Aabb.

┼─────────────────────────────────────── x
│
│   ┌─────────────┐
│   │             │
│   │          ┌──│───────┐
│   └─────────────┘       │
│              └──────────┘
y

impl Copy for Aabb[src]

impl PartialEq<Aabb> for Aabb[src]

impl From<Aabb> for Polygon[src]

impl Clone for Aabb[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Aabb[src]

Auto Trait Implementations

impl Send for Aabb

impl Sync for Aabb

Blanket Implementations

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

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

type Owned = T

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto 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<T> Any for T where
    T: 'static + ?Sized
[src]