Struct map_model::traversable::Position
source · [−]pub struct Position {
lane: LaneID,
dist_along: Distance,
}
Expand description
Represents a specific point some distance along a lane.
Fields
lane: LaneID
dist_along: Distance
Implementations
sourceimpl Position
impl Position
pub fn new(lane: LaneID, dist_along: Distance) -> Position
pub fn start(lane: LaneID) -> Position
pub fn end(lane: LaneID, map: &Map) -> Position
pub fn lane(&self) -> LaneID
pub fn dist_along(&self) -> Distance
pub fn pt(&self, map: &Map) -> Pt2D
pub fn pt_and_angle(&self, map: &Map) -> (Pt2D, Angle)
sourcepub fn equiv_pos(&self, lane: LaneID, map: &Map) -> Position
pub fn equiv_pos(&self, lane: LaneID, map: &Map) -> Position
Given a position along a lane, find the equivalent position along another lane on the same road.
pub fn equiv_pos_for_long_object(
&self,
other_lane: LaneID,
object_length: Distance,
map: &Map
) -> Position
pub fn min_dist(self, dist_along: Distance, map: &Map) -> Option<Position>
pub fn buffer_dist(self, buffer: Distance, map: &Map) -> Option<Position>
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Position
impl<'de> Deserialize<'de> for Position
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Ord for Position
impl Ord for Position
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialOrd<Position> for Position
impl PartialOrd<Position> for Position
sourcefn partial_cmp(&self, other: &Position) -> Option<Ordering>
fn partial_cmp(&self, other: &Position) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Position
impl Eq for Position
impl StructuralEq for Position
impl StructuralPartialEq for Position
Auto Trait Implementations
impl RefUnwindSafe for Position
impl Send for Position
impl Sync for Position
impl Unpin for Position
impl UnwindSafe for Position
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.