Struct spade::LastUsedVertexHintGenerator

source ·
pub struct LastUsedVertexHintGenerator { /* private fields */ }
Expand description

A hint generator that returns the last used vertex as hint.

This is useful if multiple insertion or locate queries are spatially close instead of randomly distributed. The run time of insertion and locate queries will be bounded by a constant in this case.

This heuristic requires only a constant additional amount of memory.

§Example

use spade::{DelaunayTriangulation, LastUsedVertexHintGenerator, Point2, Triangulation};

type LastUsedVertexTriangulation =
    DelaunayTriangulation<Point2<f64>, (), (), (), LastUsedVertexHintGenerator>;

let mut triangulation = LastUsedVertexTriangulation::new();
// Start using the triangulation, e.g. by inserting vertices
triangulation.insert(Point2::new(0.0, 0.0));

Trait Implementations§

source§

impl Clone for LastUsedVertexHintGenerator

source§

fn clone(&self) -> Self

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 LastUsedVertexHintGenerator

source§

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

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

impl Default for LastUsedVertexHintGenerator

source§

fn default() -> LastUsedVertexHintGenerator

Returns the “default value” for a type. Read more
source§

impl<S: SpadeNum> HintGenerator<S> for LastUsedVertexHintGenerator

source§

fn get_hint(&self, _: Point2<S>) -> FixedVertexHandle

Returns a vertex handle that should be close to a given position. Read more
source§

fn notify_vertex_lookup(&self, vertex: FixedVertexHandle)

Notifies the hint generator that an element was looked up
source§

fn notify_vertex_inserted(&mut self, vertex: FixedVertexHandle, _: Point2<S>)

Notifies the hint generator that a new vertex is inserted
source§

fn notify_vertex_removed( &mut self, _swapped_in_point: Option<Point2<S>>, vertex: FixedVertexHandle, _vertex_position: Point2<S> )

Notifies the hint generator that a vertex was removed
source§

fn initialize_from_triangulation<TR, V>(_: &TR) -> Self
where TR: Triangulation, V: HasPosition<Scalar = S>,

Creates a new hint generator initialized to give hints for a specific triangulation

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.