maliput
BranchPoint Class Referenceabstract

Detailed Description

A BranchPoint is a node in the network of a RoadGeometry at which Lanes connect to one another.

A BranchPoint is a collection of LaneEnds specifying the Lanes (and, in particular, which ends of the Lanes) are connected at the BranchPoint.

LaneEnds participating in a BranchPoint are grouped into two sets, arbitrarily named "A-side" and "B-side". LaneEnds on the same "side" have coincident into-the-lane tangent vectors, which are anti-parallel to those of LaneEnds on the other side.

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

Inheritance diagram for BranchPoint:
[legend]

Public Member Functions

virtual ~BranchPoint ()=default
 
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...
 

Protected Member Functions

 BranchPoint ()=default
 

Constructor & Destructor Documentation

◆ ~BranchPoint()

virtual ~BranchPoint ( )
virtualdefault

Reimplemented in BranchPoint.

◆ BranchPoint()

BranchPoint ( )
protecteddefault

Member Function Documentation

◆ GetASide()

const LaneEndSet* GetASide ( ) const

Returns the set of LaneEnds grouped together on the "A-side".

◆ GetBSide()

const LaneEndSet* GetBSide ( ) const

Returns the set of LaneEnds grouped together on the "B-side".

◆ GetConfluentBranches()

const LaneEndSet* GetConfluentBranches ( 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.

The returned set includes the given end.

Precondition
end must be connected to the BranchPoint.

◆ GetDefaultBranch()

std::optional<LaneEnd> GetDefaultBranch ( const LaneEnd end) const

Returns the default ongoing branch (if any) for the given end.

This typically represents what would be considered "continuing through-traffic" from end (e.g., as opposed to a branch executing a turn).

If end has no default-branch at this BranchPoint, the return value will be std::nullopt.

Precondition
end must be connected to the BranchPoint.

◆ GetOngoingBranches()

const LaneEndSet* GetOngoingBranches ( 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.

Precondition
end must be connected to the BranchPoint.

◆ id()

BranchPointId id ( ) const

Returns the persistent identifier.

◆ road_geometry()

const RoadGeometry* road_geometry ( ) const

Returns the RoadGeometry to which this BranchPoint belongs.


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