maliput
|
geometry_base's implementation of api::Junction.
#include <include/maliput/geometry_base/junction.h>
Public Member Functions | |
MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (Junction) | |
Junction (const api::JunctionId &id) | |
Constructs a Junction. More... | |
template<class T > | |
T * | AddSegment (std::unique_ptr< T > segment) |
Adds segment to this Junction. More... | |
~Junction () override=default | |
void | AttachToRoadGeometry (common::Passkey< RoadGeometry >, const api::RoadGeometry *road_geometry, const std::function< void(const api::Segment *)> &segment_indexing_callback, const std::function< void(const api::Lane *)> &lane_indexing_callback) |
![]() | |
JunctionId | id () const |
Returns the persistent identifier. More... | |
const RoadGeometry * | road_geometry () const |
Returns the RoadGeometry to which this Junction belongs. More... | |
int | num_segments () const |
Returns the number of Segments in the Junction. More... | |
const Segment * | segment (int index) const |
Returns the Segment indexed by index . More... | |
Additional Inherited Members | |
![]() | |
Junction ()=default | |
|
explicit |
Constructs a Junction.
id | the ID of the Junction |
The Junction is not fully initialized until it is added to a RoadGeometry.
T* AddSegment | ( | std::unique_ptr< T > | segment | ) |
Adds segment
to this Junction.
This Junction will take ownership of segment
and will be assigned as its parent.
segment
's raw pointer.T | must be derived from geometry_base::Segment. |
std::exception | if segment is empty. |
void AttachToRoadGeometry | ( | common::Passkey< RoadGeometry > | , |
const api::RoadGeometry * | road_geometry, | ||
const std::function< void(const api::Segment *)> & | segment_indexing_callback, | ||
const std::function< void(const api::Lane *)> & | lane_indexing_callback | ||
) |
MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN | ( | Junction | ) |