Drake
BuilderBase Class Referenceabstract

Defines a builder interface for multilane. More...

#include <drake/automotive/maliput/multilane/builder.h>

Inheritance diagram for BuilderBase:
[legend]

Public Member Functions

 BuilderBase ()=default
 
virtual ~BuilderBase ()=default
 
virtual double get_lane_width () const =0
 Gets lane_width value. More...
 
virtual const api::HBoundsget_elevation_bounds () const =0
 Gets elevation_bounds value. More...
 
virtual double get_linear_tolerance () const =0
 Gets linear_tolerance value. More...
 
virtual double get_angular_tolerance () const =0
 Gets angular_tolerance value. More...
 
virtual const ConnectionConnect (const std::string &id, const LaneLayout &lane_layout, const StartReference::Spec &start_spec, const LineOffset &line_offset, const EndReference::Spec &end_spec)=0
 Connects start_spec's Endpoint to an end-point linearly displaced from start_spec's Endpoint. More...
 
virtual const ConnectionConnect (const std::string &id, const LaneLayout &lane_layout, const StartReference::Spec &start_spec, const ArcOffset &arc_offset, const EndReference::Spec &end_spec)=0
 Connects start_spec's Endpoint to an end-point displaced from start_spec's Endpoint via an arc. More...
 
virtual void SetDefaultBranch (const Connection *in, int in_lane_index, api::LaneEnd::Which in_end, const Connection *out, int out_lane_index, api::LaneEnd::Which out_end)=0
 Sets the default branch for one end of a connection. More...
 
virtual GroupMakeGroup (const std::string &id)=0
 Creates a new empty connection group with ID string id. More...
 
virtual GroupMakeGroup (const std::string &id, const std::vector< const Connection * > &connections)=0
 Creates a new connection group with ID id, populated with the given connections. More...
 
virtual std::unique_ptr< const api::RoadGeometryBuild (const api::RoadGeometryId &id) const =0
 Produces a RoadGeometry, with the ID id. More...
 
Does not allow copy, move, or assignment
 BuilderBase (const BuilderBase &)=delete
 
BuilderBaseoperator= (const BuilderBase &)=delete
 
 BuilderBase (BuilderBase &&)=delete
 
BuilderBaseoperator= (BuilderBase &&)=delete
 

Detailed Description

Defines a builder interface for multilane.

It is used for testing purposes only, and derived code should instantiate Builder objects.

Constructor & Destructor Documentation

BuilderBase ( const BuilderBase )
delete
BuilderBase ( BuilderBase &&  )
delete
BuilderBase ( )
default
virtual ~BuilderBase ( )
virtualdefault

Member Function Documentation

virtual std::unique_ptr<const api::RoadGeometry> Build ( const api::RoadGeometryId id) const
pure virtual

Produces a RoadGeometry, with the ID id.

Implemented in Builder.

virtual const Connection* Connect ( const std::string &  id,
const LaneLayout lane_layout,
const StartReference::Spec start_spec,
const LineOffset line_offset,
const EndReference::Spec end_spec 
)
pure virtual

Connects start_spec's Endpoint to an end-point linearly displaced from start_spec's Endpoint.

line_offset specifies the length of displacement (in the direction of the heading of start_spec's Endpoint). end_spec specifies the elevation characteristics at the end-point. lane_layout defines the number of lanes, their width, extra shoulder asphalt extensions and placing with respect to connection's reference curve.

Implemented in Builder.

virtual const Connection* Connect ( const std::string &  id,
const LaneLayout lane_layout,
const StartReference::Spec start_spec,
const ArcOffset arc_offset,
const EndReference::Spec end_spec 
)
pure virtual

Connects start_spec's Endpoint to an end-point displaced from start_spec's Endpoint via an arc.

arc_offset specifies the shape of the arc. end_spec specifies the elevation characteristics at the end-point. r0 is the distance from the reference curve to the first Lane centerline. left_shoulder and right_shoulder are extra lateral distances added to the extents of the Segment after the first and last Lanes positions are determined. lane_layout defines the number of lanes, their width, extra shoulder asphalt extensions and placing with respect to connection's reference curve.

Implemented in Builder.

virtual double get_angular_tolerance ( ) const
pure virtual

Gets angular_tolerance value.

Implemented in Builder.

virtual const api::HBounds& get_elevation_bounds ( ) const
pure virtual

Gets elevation_bounds value.

Implemented in Builder.

virtual double get_lane_width ( ) const
pure virtual

Gets lane_width value.

Implemented in Builder.

virtual double get_linear_tolerance ( ) const
pure virtual

Gets linear_tolerance value.

Implemented in Builder.

virtual Group* MakeGroup ( const std::string &  id)
pure virtual

Creates a new empty connection group with ID string id.

Implemented in Builder.

virtual Group* MakeGroup ( const std::string &  id,
const std::vector< const Connection * > &  connections 
)
pure virtual

Creates a new connection group with ID id, populated with the given connections.

Implemented in Builder.

BuilderBase& operator= ( BuilderBase &&  )
delete
BuilderBase& operator= ( const BuilderBase )
delete
virtual void SetDefaultBranch ( const Connection in,
int  in_lane_index,
api::LaneEnd::Which  in_end,
const Connection out,
int  out_lane_index,
api::LaneEnd::Which  out_end 
)
pure virtual

Sets the default branch for one end of a connection.

The default branch for the in_end of connection in at Lane in_lane_indexwill set to be out_end of connection out at Lane out_lane_index. The specified connections must actually be joined at the specified ends (i.e., the Endpoint's for those ends must be coincident and (anti)parallel within the tolerances for the Builder).

Implemented in Builder.


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