Trait implicit::Implicit [] [src]

pub trait Implicit {
    fn sample(&self, pos: Point) -> f32;
    fn bounding_box(&self) -> Option<Rect>;
    fn follows_rules(&self) -> bool;

    fn boxed(self) -> SyncBox
    where
        Self: Sized + 'static + Sync
, { ... } fn and<B: Implicit>(self, other: B) -> And<Self, B>
    where
        Self: Sized
, { ... } fn and_not<B: Implicit>(self, other: B) -> And<Self, Not<B>>
    where
        Self: Sized
, { ... } fn or<B: Implicit>(self, other: B) -> Or<Self, B>
    where
        Self: Sized
, { ... } fn xor<B: Implicit>(self, other: B) -> Xor<Self, B>
    where
        Self: Sized
, { ... } fn shrink(self, by: f32) -> Boundary<Self>
    where
        Self: Sized
, { ... } fn grow(self, by: f32) -> Boundary<Self>
    where
        Self: Sized
, { ... } fn cache_bounding_box(self) -> BoxCache<Self>
    where
        Self: Sized
, { ... } fn transform(self) -> Transformation<Self>
    where
        Self: Sized
, { ... } fn scale(self, sx: f32, sy: f32) -> Transformation<Self>
    where
        Self: Sized
, { ... } fn translate(self, x: f32, y: f32) -> Transformation<Self>
    where
        Self: Sized
, { ... } fn rotate(self, rads: f32) -> Transformation<Self>
    where
        Self: Sized
, { ... } fn not(self) -> Not<Self>
    where
        Self: Sized
, { ... } fn outline_inner(self, distance: f32) -> And<Self, Not<Boundary<Self>>>
    where
        Self: Sized + Clone
, { ... } fn outline_outer(self, distance: f32) -> And<Boundary<Self>, Not<Self>>
    where
        Self: Sized + Clone
, { ... } fn borrow<'a>(&'a self) -> &'a Implicit
    where
        Self: Sized
, { ... } fn fix_rules(self, resolution: f32) -> PolyGroup
    where
        Self: Sized + Sync
, { ... } fn smooth(self, amount: f32, resolution: f32) -> Boundary<PolyGroup>
    where
        Self: Sized + Sync
, { ... } fn center(&self) -> Option<Point> { ... } fn center_at(self, point: &Point) -> Transformation<Self>
    where
        Self: Sized
, { ... } }

Required Methods

Returns the distance from a point to the nearest edge of a surface.

If the point is outside of the surface, return a positive number. If the point is inside of the surface, return a negative number. If the point is on the line, return 0.

Returns a bounding box that surrounds a shape (if one exists).

If the shape is infinite, return None.

True if the shape follows all the rules about implicit shapes.

Provided Methods

Trait Implementations

impl<'a> Implicit for &'a Implicit
[src]

Returns the distance from a point to the nearest edge of a surface. Read more

Returns a bounding box that surrounds a shape (if one exists). Read more

True if the shape follows all the rules about implicit shapes.

Implementors