[][src]Trait quicksilver::geom::Shape

pub trait Shape {
    
#[must_use]
fn contains(
        &self,
        point: impl Into<Vector>
    ) -> bool;
#[must_use]
fn overlaps(
        &self,
        other: &impl Shape
    ) -> bool;
#[must_use]
fn center(&self) -> Vector;
#[must_use]
fn bounding_box(&self) -> Rectangle;
#[must_use]
fn translate(
        &self,
        amount: impl Into<Vector>
    ) -> Self
    where
        Self: Sized
;
#[must_use]
fn intersects(&self, line: &Line) -> bool { ... }
#[must_use]
fn overlaps_circle(&self, circle: &Circle) -> bool { ... }
#[must_use]
fn overlaps_rectangle(&self, rectangle: &Rectangle) -> bool { ... }
#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self
    where
        Self: Sized
, { ... }
#[must_use]
fn with_center(
        &self,
        center: impl Into<Vector>
    ) -> Self
    where
        Self: Sized
, { ... } }

The collision and positional attributes of shapes

Required methods

#[must_use]
fn contains(
    &self,
    point: impl Into<Vector>
) -> bool

If the point lies on the shape's boundary or within it

#[must_use]
fn overlaps(
    &self,
    other: &impl Shape
) -> bool

If any area is bounded by both either shape

#[must_use]
fn center(&self) -> Vector

The point all other points are equidistant to in the shape

#[must_use]
fn bounding_box(&self) -> Rectangle

A Rectangle that contains the entire shape

#[must_use]
fn translate(
    &self,
    amount: impl Into<Vector>
) -> Self where
    Self: Sized

Create a copy of the shape with an offset center

Loading content...

Provided methods

#[must_use]
fn intersects(&self, line: &Line) -> bool

If any area bounded by the shape falls on the line

#[must_use]
fn overlaps_circle(&self, circle: &Circle) -> bool

If any area is bounded by both the shape and the circle

#[must_use]
fn overlaps_rectangle(&self, rectangle: &Rectangle) -> bool

If any area is bounded by both the shape and the rectangle

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized

Create a copy of the shape that is contained within the bound

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized

Create a copy of the shape with an offset center

Loading content...

Implementors

impl Shape for Circle[src]

#[must_use]
fn intersects(&self, line: &Line) -> bool
[src]

#[must_use]
fn overlaps_rectangle(&self, rectangle: &Rectangle) -> bool
[src]

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized
[src]

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized
[src]

impl Shape for Line[src]

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized
[src]

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized
[src]

impl Shape for Rectangle[src]

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized
[src]

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized
[src]

impl Shape for Triangle[src]

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized
[src]

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized
[src]

impl Shape for Vector[src]

#[must_use]
fn intersects(&self, line: &Line) -> bool
[src]

#[must_use]
fn overlaps_circle(&self, circle: &Circle) -> bool
[src]

#[must_use]
fn overlaps_rectangle(&self, rectangle: &Rectangle) -> bool
[src]

#[must_use]
fn constrain(&self, outer: &Rectangle) -> Self where
    Self: Sized
[src]

#[must_use]
fn with_center(
    &self,
    center: impl Into<Vector>
) -> Self where
    Self: Sized
[src]

Loading content...