Struct boostvoronoi::Diagram [−][src]
pub struct Diagram<F> where
F: OutputType, { /* fields omitted */ }
Expand description
Voronoi output data structure based on data wrapped in Rc<Cell<T>>
.
See SyncDiagram
for a version of this structure without the Rc<Cell>
.
CCW ordering is used on the faces perimeter and around the vertices. Mandatory reading: https://www.boost.org/doc/libs/1_76_0/libs/polygon/doc/voronoi_diagram.htm
Implementations
Returns a reference to all of the vertices
Computes an AABB large enough to contain all the vertices
Returns a Rc<cell::Cell<>> belonging to the cell_id
Returns the edge associated with the edge id
Return the edge represented as an straight line if the edge does not exists or if it lacks v0 or v1; None will be returned.
Iterates over all edges, colors each edge as exterior if it has an unbroken primary edge link connection to an infinite edge.
👎 Deprecated since 0.10.3: please use .cells().iter()
instead
please use .cells().iter()
instead
Returns an iterator over all cells
👎 Deprecated since 0.10.3: please use .vertices().iter()
instead
please use .vertices().iter()
instead
Returns an iterator over all vertices
👎 Deprecated since 0.10.3: please use .edges().iter()
instead
please use .edges().iter()
instead
Returns an iterator over all edges
returns the number of vertices in the diagram
reserves space for an number of additional sites
Returns an edge iterator. This iterates over the edges belonging to this cell starting with the incident edge.
Returns the vertex associated with the vertex_id
OR the previous color field value with this new color value
Returns the color field of the vertex.
return one of the edges originating at the vertex
Set the color of the vertex. This affects only the public bits, not the internal
returns true if this vertex coincides with an site point
Returns the color field of the edge.
Sets the color field with new value
OR the previous color field value with this new color value
pub fn edge_rot_next_iterator(
&self,
edge_id: Option<EdgeIndex>
) -> EdgeRotNextIterator<'_, F>
pub fn edge_rot_next_iterator(
&self,
edge_id: Option<EdgeIndex>
) -> EdgeRotNextIterator<'_, F>
Returns an edge iterator, the edges will all originate at the same vertex as ‘edge_id’. ‘edge_id’ will be the first edge returned by the iterator. Do NOT use this when altering next, prev or twin edges.
pub fn edge_rot_prev_iterator(
&self,
edge_id: Option<EdgeIndex>
) -> EdgeRotPrevIterator<'_, F>
pub fn edge_rot_prev_iterator(
&self,
edge_id: Option<EdgeIndex>
) -> EdgeRotPrevIterator<'_, F>
Returns an edge iterator, the edges will all originate at the same vertex as ‘edge_id’. ‘edge_id’ will be the first edge returned by the iterator. Do NOT use this when altering next, prev or twin edges.
Returns true if the edge is finite (segment, parabolic arc). Returns false if the edge is infinite (ray, line).
Returns true if the edge is infinite (ray, line). Returns false if the edge is finite (segment, parabolic arc).
Returns a pointer to the rotation next edge over the starting point of the half-edge.
Trait Implementations
Converts a Diagram
into a SyncDiagram
by dropping the std::cell::Cell
and Rc