Junction Class Reference

Detailed Description

geometry_base's implementation of api::Junction.

#include <include/maliput/geometry_base/junction.h>

Inheritance diagram for Junction:

Public Member Functions

 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)
- Public Member Functions inherited from Junction
JunctionId id () const
 Returns the persistent identifier. More...
const RoadGeometryroad_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 Segmentsegment (int index) const
 Returns the Segment indexed by index. More...

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ Junction()

Junction ( const api::JunctionId id)

Constructs a Junction.

idthe ID of the Junction

The Junction is not fully initialized until it is added to a RoadGeometry.

◆ ~Junction()

~Junction ( )

Reimplemented from Junction.

Member Function Documentation

◆ AddSegment()

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.
Template Parameters
Tmust be derived from geometry_base::Segment.
std::exceptionif segment is empty.

◆ AttachToRoadGeometry()

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 



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