Drake
BranchPoint Class Referenceabstract

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

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

Inheritance diagram for BranchPoint:
[legend]

Public Member Functions

virtual ~BranchPoint ()=default
 
const 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::unique_ptr< 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...
 
Does not allow copy, move, or assignment
 BranchPoint (const BranchPoint &)=delete
 
BranchPointoperator= (const BranchPoint &)=delete
 
 BranchPoint (BranchPoint &&)=delete
 
BranchPointoperator= (BranchPoint &&)=delete
 

Protected Member Functions

 BranchPoint ()=default
 

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.

Constructor & Destructor Documentation

BranchPoint ( const BranchPoint )
delete
BranchPoint ( BranchPoint &&  )
delete
virtual ~BranchPoint ( )
virtualdefault

Reimplemented in BranchPoint, BranchPoint, BranchPoint, and BranchPoint.

BranchPoint ( )
protecteddefault

Member Function Documentation

const LaneEndSet* GetASide ( ) const
inline

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

Here is the caller graph for this function:

const LaneEndSet* GetBSide ( ) const
inline

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

Here is the caller graph for this function:

const LaneEndSet* GetConfluentBranches ( const LaneEnd end) const
inline

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.
std::unique_ptr<LaneEnd> GetDefaultBranch ( const LaneEnd end) const
inline

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 nullptr.

Precondition
end must be connected to the BranchPoint.
const LaneEndSet* GetOngoingBranches ( const LaneEnd end) const
inline

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.
const BranchPointId id ( ) const
inline

Returns the persistent identifier.

Here is the caller graph for this function:

BranchPoint& operator= ( BranchPoint &&  )
delete
BranchPoint& operator= ( const BranchPoint )
delete
const RoadGeometry* road_geometry ( ) const
inline

Returns the RoadGeometry to which this BranchPoint belongs.

Here is the caller graph for this function:


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