maliput
BranchPoint Class Reference

Detailed Description

geometry_base's implementation of api::BranchPoint.

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

Inheritance diagram for BranchPoint:
[legend]

Public Member Functions

 MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (BranchPoint)
 
 BranchPoint (const api::BranchPointId &id)
 Constructs an empty BranchPoint. More...
 
void AddABranch (Lane *lane, api::LaneEnd::Which end)
 Adds the end of lane to the "A side" of this BranchPoint. More...
 
void AddBBranch (Lane *lane, api::LaneEnd::Which end)
 Adds the end of lane to the "B side" of this BranchPoint. More...
 
void SetDefault (const api::LaneEnd &lane_end, const api::LaneEnd &default_branch)
 Sets the default branch for lane_end to default_branch. More...
 
 ~BranchPoint () override=default
 
void AttachToRoadGeometry (common::Passkey< RoadGeometry >, const api::RoadGeometry *road_geometry)
 
- Public Member Functions inherited from BranchPoint
BranchPointId id () const
 Returns the persistent identifier. More...
 
const RoadGeometryroad_geometry () const
 Returns the RoadGeometry to which this BranchPoint belongs. More...
 
const LaneEndSetGetConfluentBranches (const LaneEnd &end) const
 Returns the set of LaneEnds on the same side as the given end, e.g., the LaneEnds merging with the given end. More...
 
const LaneEndSetGetOngoingBranches (const LaneEnd &end) const
 Returns the set of LaneEnds on the other side from the given end, e.g., the LaneEnds which end flows into. More...
 
std::optional< LaneEndGetDefaultBranch (const LaneEnd &end) const
 Returns the default ongoing branch (if any) for the given end. More...
 
const LaneEndSetGetASide () const
 Returns the set of LaneEnds grouped together on the "A-side". More...
 
const LaneEndSetGetBSide () const
 Returns the set of LaneEnds grouped together on the "B-side". More...
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ BranchPoint()

BranchPoint ( const api::BranchPointId id)
explicit

Constructs an empty BranchPoint.

Parameters
idthe ID of the BranchPoint

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

◆ ~BranchPoint()

~BranchPoint ( )
overridevirtualdefault

Reimplemented from BranchPoint.

Member Function Documentation

◆ AddABranch()

void AddABranch ( Lane lane,
api::LaneEnd::Which  end 
)

Adds the end of lane to the "A side" of this BranchPoint.

Exceptions
std::exceptionif lane is nullptr.

◆ AddBBranch()

void AddBBranch ( Lane lane,
api::LaneEnd::Which  end 
)

Adds the end of lane to the "B side" of this BranchPoint.

Exceptions
std::exceptionif lane is nullptr.

◆ AttachToRoadGeometry()

void AttachToRoadGeometry ( common::Passkey< RoadGeometry ,
const api::RoadGeometry road_geometry 
)

◆ MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN()

MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN ( BranchPoint  )

◆ SetDefault()

void SetDefault ( const api::LaneEnd lane_end,
const api::LaneEnd default_branch 
)

Sets the default branch for lane_end to default_branch.

Exceptions
std::exceptionif the specified LaneEnds do not belong to opposite sides of this BranchPoint.

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