[][src]Struct shine_math::triangulation::Context

pub struct Context<P, V, F, Predicates = (), Tag = (), Builder = (), Trace = ()> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
{ pub predicates: Predicates, pub tag: Tag, pub builder: Builder, pub trace: Trace, pub phantom: PhantomData<(P, V, F)>, }

Context the enables/disables triangulation features and also stores the required datas

Fields

predicates: Predicatestag: Tagbuilder: Buildertrace: Tracephantom: PhantomData<(P, V, F)>

Methods

impl<P, V, F> Context<P, V, F, (), (), (), ()> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn new() -> Context<P, V, F>[src]

impl<P, V, F> Context<P, V, F, (), (), (), ()> where
    P: Position,
    P::Real: InexactReal,
    V: Vertex<Position = P>,
    F: Face
[src]

impl<P, V, F> Context<P, V, F, (), (), (), ()> where
    P: Position,
    P::Real: ExactReal,
    V: Vertex<Position = P>,
    F: Face
[src]

impl<P, V, F, Predicates, Tag, Builder, Trace> Context<P, V, F, Predicates, Tag, Builder, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn create(self) -> Triangulation<P, V, F, Self>[src]

impl<P, V, F, Tag, Builder, Trace> Context<P, V, F, (), Tag, Builder, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_predicates<PR>(
    self,
    predicates: PR
) -> Context<P, V, F, PR, Tag, Builder, Trace> where
    PR: Predicates<Position = P>, 
[src]

impl<P, V, F, Tag, Builder, Trace> Context<P, V, F, (), Tag, Builder, Trace> where
    P: Position,
    P::Real: InexactReal,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_inexact_predicates(
    self
) -> Context<P, V, F, InexactPredicates<P>, Tag, Builder, Trace>
[src]

pub fn with_inexact_predicates_eps(
    self,
    eps: P::Real
) -> Context<P, V, F, InexactPredicates<P>, Tag, Builder, Trace>
[src]

impl<P, V, F, Tag, Builder, Trace> Context<P, V, F, (), Tag, Builder, Trace> where
    P: Position,
    P::Real: ExactReal,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_exact_predicates(
    self
) -> Context<P, V, F, ExactPredicates<P>, Tag, Builder, Trace>
[src]

impl<P, V, F, Predicates, Builder, Trace> Context<P, V, F, Predicates, (), Builder, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_tag(self) -> Context<P, V, F, Predicates, TagCtx, Builder, Trace>[src]

impl<P, V, F, Predicates, Tag, Trace> Context<P, V, F, Predicates, Tag, (), Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_builder(
    self
) -> Context<P, V, F, Predicates, Tag, BuilderCtx, Trace>
[src]

impl<P, V, F, Predicates, Tag, Builder> Context<P, V, F, Predicates, Tag, Builder, ()> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

pub fn with_trace<TC, TR, T>(
    self,
    trace: T
) -> Context<P, V, F, Predicates, Tag, Builder, TraceCtx<TC, TR>> where
    TC: TriTraceControl,
    TR: TraceRender2,
    T: Into<TraceCtx<TC, TR>>, 
[src]

Trait Implementations

impl<P, V, F, PR, Tag, Builder, Trace> PredicatesContext for Context<P, V, F, PR, Tag, Builder, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face,
    PR: Predicates<Position = P>, 
[src]

type Predicates = PR

impl<P, V, F, Predicates, Builder, Trace> TagContext for Context<P, V, F, Predicates, TagCtx, Builder, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

impl<P, V, F, Predicates, Tag, Trace> BuilderContext for Context<P, V, F, Predicates, Tag, BuilderCtx, Trace> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

impl<P, V, F, Predicates, Tag, Builder, TC, TR> TraceContext for Context<P, V, F, Predicates, Tag, Builder, TraceCtx<TC, TR>> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face,
    TC: 'static + TriTraceControl,
    TR: 'static + TraceRender2
[src]

impl<P, V, F> Default for Context<P, V, F, (), (), (), ()> where
    P: Position,
    V: Vertex<Position = P>,
    F: Face
[src]

Auto Trait Implementations

impl<P, V, F, Predicates, Tag, Builder, Trace> Send for Context<P, V, F, Predicates, Tag, Builder, Trace> where
    Builder: Send,
    F: Send,
    P: Send,
    Predicates: Send,
    Tag: Send,
    Trace: Send,
    V: Send

impl<P, V, F, Predicates, Tag, Builder, Trace> Sync for Context<P, V, F, Predicates, Tag, Builder, Trace> where
    Builder: Sync,
    F: Sync,
    P: Sync,
    Predicates: Sync,
    Tag: Sync,
    Trace: Sync,
    V: Sync

Blanket Implementations

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

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, 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> Borrow for T where
    T: ?Sized
[src]

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

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

impl<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> Same for T

type Output = T

Should always be Self