maliput_multilane
BuilderBase Class Referenceabstract

Detailed Description

Defines a builder interface for multilane.

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

#include <include/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 double get_scale_length () const =0
 Gets scale_length value. More...
 
virtual ComputationPolicy get_computation_policy () const =0
 Gets computation_policy 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 const ConnectionConnect (const std::string &id, const LaneLayout &lane_layout, const StartLane::Spec &start_spec, const LineOffset &line_offset, const EndLane::Spec &end_spec)=0
 Creates a Connection whose planar reference curve is a line. More...
 
virtual const ConnectionConnect (const std::string &id, const LaneLayout &lane_layout, const StartLane::Spec &start_spec, const ArcOffset &arc_offset, const EndLane::Spec &end_spec)=0
 Creates a Connection whose planar reference curve is 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...
 

Constructor & Destructor Documentation

◆ BuilderBase()

BuilderBase ( )
default

◆ ~BuilderBase()

virtual ~BuilderBase ( )
virtualdefault

Member Function Documentation

◆ Build()

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

Produces a RoadGeometry, with the ID id.

Exceptions
maliput::common::assertion_errorif unable to produce a valid (i.e. G1) RoadGeometry.

Implemented in Builder.

◆ Connect() [1/4]

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

Creates a Connection whose planar reference curve is an arc.

start_spec.lane_id() lane starts at start_spec.endpoint() and end_spec.lane_id() lane ends with end_spec.endpoint_z() which specifies the elevation characteristics.

arc_offset specifies the shape of the arc.

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.

◆ Connect() [2/4]

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

Creates a Connection whose planar reference curve is a line.

start_spec.lane_id() lane starts at start_spec.endpoint() and end_spec.lane_id() lane ends with end_spec.endpoint_z() which specifies the elevation characteristics.

line_offset specifies the length of displacement (in the direction of the heading of start_spec's Endpoint).

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.

◆ Connect() [3/4]

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.

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.

◆ Connect() [4/4]

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.

◆ get_angular_tolerance()

virtual double get_angular_tolerance ( ) const
pure virtual

Gets angular_tolerance value.

Implemented in Builder.

◆ get_computation_policy()

virtual ComputationPolicy get_computation_policy ( ) const
pure virtual

Gets computation_policy value.

Implemented in Builder.

◆ get_elevation_bounds()

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

Gets elevation_bounds value.

Implemented in Builder.

◆ get_lane_width()

virtual double get_lane_width ( ) const
pure virtual

Gets lane_width value.

Implemented in Builder.

◆ get_linear_tolerance()

virtual double get_linear_tolerance ( ) const
pure virtual

Gets linear_tolerance value.

Implemented in Builder.

◆ get_scale_length()

virtual double get_scale_length ( ) const
pure virtual

Gets scale_length value.

Implemented in Builder.

◆ MakeGroup() [1/2]

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

Creates a new empty connection group with ID string id.

Implemented in Builder.

◆ MakeGroup() [2/2]

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.

◆ SetDefaultBranch()

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: