maliput_multilane
Junction Class Reference

Detailed Description

An api::Junction implementation.

#include <src/maliput_multilane/junction.h>

Inheritance diagram for Junction:
[legend]

Public Member Functions

 MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (Junction)
 
 Junction (const api::JunctionId &id, const api::RoadGeometry *road_geometry, const std::function< void(const api::Segment *)> &register_segment, const std::function< void(const api::Lane *)> &register_lane)
 Constructs an empty Junction. More...
 
SegmentNewSegment (const api::SegmentId &id, std::unique_ptr< RoadCurve > road_curve, double r_min, double r_max, const api::HBounds &elevation_bounds)
 Creates and adds a new Segment. More...
 
 ~Junction () override=default
 
- Public Member Functions inherited from Junction
JunctionId id () const
 
const RoadGeometryroad_geometry () const
 
int num_segments () const
 
const Segmentsegment (int index) const
 

Additional Inherited Members

- Protected Member Functions inherited from Junction
 Junction ()=default
 

Constructor & Destructor Documentation

◆ Junction()

Junction ( const api::JunctionId id,
const api::RoadGeometry road_geometry,
const std::function< void(const api::Segment *)> &  register_segment,
const std::function< void(const api::Lane *)> &  register_lane 
)

Constructs an empty Junction.

road_geometry must remain valid for the lifetime of this class, and must refer to the RoadGeometry which will contain the newly constructed Junction instance. register_segment and register_lane will be called on any new Segment or Lane instances created as children of the Junction.

◆ ~Junction()

~Junction ( )
overridevirtualdefault

Reimplemented from Junction.

Member Function Documentation

◆ MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN ( Junction  )

◆ NewSegment()

Segment * NewSegment ( const api::SegmentId id,
std::unique_ptr< RoadCurve road_curve,
double  r_min,
double  r_max,
const api::HBounds elevation_bounds 
)

Creates and adds a new Segment.

Parameters
idSegment's ID.
road_curveReference trajectory over the Segment's surface.
r_minLateral distance to the minimum extent of road_curve's curve from where Segment's surface starts.
r_maxLateral distance to the maximum extent of road_curve's curve from where Segment's surface ends.
elevation_boundsThe height bounds over the segment' surface.
Returns
A Segment object.

The documentation for this class was generated from the following files: