Struct map_model::Perimeter[][src]

pub struct Perimeter {
    pub roads: Vec<RoadSideID>,
}
Expand description

A sequence of roads in order, beginning and ending at the same place. No “crossings” – tracing along this sequence should geometrically yield a simple polygon.

Fields

roads: Vec<RoadSideID>

Implementations

Starting at any lane, snap to the nearest side of that road, then begin tracing a single block, with no interior roads. This will fail if a map boundary is reached. The results are unusual when crossing the entrance to a tunnel or bridge.

This calculates all single block perimeters for the entire map. The resulting list does not cover roads near the map boundary.

Merges two perimeters using a road in common. Mutates the current perimeter. Panics if they don’t have that road in common. Doesn’t handle blocks that have multiple roads in common.

Find an arbitrary road that two perimeters have in common.

Consider the perimeters as a graph, with adjacency determined by sharing any road in common. Partition adjacent perimeters, subject to the predicate. Each partition should produce a single result with merge_all.

Assign each perimeter one of num_colors, such that no two adjacent perimeters share the same color. May fail. The resulting colors are expressed as [0, num_colors).

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.