Trait spade::delaunay::DelaunayLocateStructure
source · pub trait DelaunayLocateStructure<T: PointN>: Default + Clone {
fn insert_vertex_entry(&mut self, entry: VertexEntry<T>);
fn update_vertex_entry(&mut self, new_entry: VertexEntry<T>);
fn remove_vertex_entry(&mut self, to_remove: &VertexEntry<T>);
fn find_close_handle(&self, point: &T) -> FixedVertexHandle;
fn new_query_result(&self, entry: FixedVertexHandle);
}
Expand description
Locate strategy for Delaunay triangulations.
Many operations of a Delaunay triangulation, like insertion, require to find the triangle that contains a certain point. For larger triangulations, this step tends to take most time, since it might be necessary to traverse large parts of the triangulation until the desired triangle is found. To mitigate this, spade offers different methods on how point are located. Each method implements this trait. It is recommended to choose from one of the given implementations.
Required Methods
sourcefn insert_vertex_entry(&mut self, entry: VertexEntry<T>)
fn insert_vertex_entry(&mut self, entry: VertexEntry<T>)
This method is called when a new vertex entry has been inserted.
sourcefn update_vertex_entry(&mut self, new_entry: VertexEntry<T>)
fn update_vertex_entry(&mut self, new_entry: VertexEntry<T>)
This method is called when a vertex has been updated.
sourcefn remove_vertex_entry(&mut self, to_remove: &VertexEntry<T>)
fn remove_vertex_entry(&mut self, to_remove: &VertexEntry<T>)
This method is callend when a vertex has been removed.
sourcefn find_close_handle(&self, point: &T) -> FixedVertexHandle
fn find_close_handle(&self, point: &T) -> FixedVertexHandle
Returns, if possible, a vertex handle that is close to the given point.
sourcefn new_query_result(&self, entry: FixedVertexHandle)
fn new_query_result(&self, entry: FixedVertexHandle)
Notifies the locate structure about the result of a query.