maliput_multilane
maliput::multilane Namespace Reference

Namespaces

 params
 
 plugin
 
 test
 

Classes

class  ArcOffset
 Specification for path offset along a circular arc. More...
 
class  ArcRoadCurve
 RoadCurve specification for a reference curve that describes a piece of an arc. More...
 
class  BranchAndMergeBasedTest
 A fixture for tests that use a road that branches and merges. More...
 
class  BranchPoint
 An implementation of api::BranchPoint. More...
 
class  Builder
 Convenient builder class which makes it easy to construct a multilane road network. More...
 
class  BuilderBase
 Defines a builder interface for multilane. More...
 
class  BuilderFactory
 Implements a BuilderFactoryBase to construct Builder objects. More...
 
class  BuilderFactoryBase
 Factory interface to construct BuilderBase instances. More...
 
class  Connection
 Representation of a reference path connecting two endpoints. More...
 
class  CubicPolynomial
 A cubic polynomial, f(p) = a + b*p + c*p^2 + d*p^3. More...
 
class  EndLane
 Provides methods to build an EndLane::Spec. More...
 
class  Endpoint
 Complete set of parameters for an endpoint of a connection, specified in the world frame. More...
 
class  EndpointXy
 XY-plane-only parameters for an endpoint of a connection, specified in the world frame. More...
 
class  EndpointZ
 Out-of-plane parameters for an endpoint of a connection, specified in the world frame. More...
 
class  EndReference
 Provides methods to build an EndReference::Spec. More...
 
class  Group
 A group of Connections. More...
 
class  GroupFactory
 Implements a GroupFactoryBase to construct Group objects. More...
 
class  GroupFactoryBase
 Factory interface to construct Group instances. More...
 
class  Junction
 An api::Junction implementation. More...
 
class  Lane
 Base class for the multilane implementation of api::Lane. More...
 
class  LaneEndSet
 An implementation of LaneEndSet. More...
 
class  LaneLayout
 Wraps all the lane-related specifications in a Connection. More...
 
class  LineOffset
 Specification for path offset along a line. More...
 
class  LineRoadCurve
 RoadCurve specification for a reference curve that describes a line. More...
 
class  LoopBasedTest
 A fixture for tests that use a road with multiple loops. More...
 
class  MultiBranchBasedTest
 A fixture for tests that use a road that branches from one lane into multiple lanes. More...
 
class  MultilaneOnrampMerge
 MultilaneOnrampMerge contains an example lane-merge scenario expressed as a maliput mulitilane road geometry. More...
 
struct  MultilaneRoadCharacteristics
 MultilaneRoadCharacteristics computes and stores characteristics of a multilane road network; i.e. More...
 
class  RoadCurve
 Defines an interface for a path in a Segment object surface. More...
 
class  RoadGeometry
 A simple api::RoadGeometry implementation that only supports a single lane per segment. More...
 
struct  RoadNetworkConfiguration
 Contains the attributes needed for building a api::RoadNetwork. More...
 
class  Rot3
 An R^3 rotation parameterized by roll, pitch, yaw. More...
 
class  Segment
 An api::Segment implementation. More...
 
class  StartLane
 Provides methods to build an StartLane::Spec. More...
 
class  StartReference
 Provides methods to build an StartReference::Spec. More...
 

Enumerations

enum  Direction { kForward, kReverse }
 Defines the direction of an Endpoint or EndpointZ. More...
 
enum  ComputationPolicy { kPreferAccuracy, kPreferSpeed }
 A policy to guide all computations in a RoadCurve, in terms of speed and accuracy. More...
 

Functions

std::ostream & operator<< (std::ostream &out, const StartReference::Spec &start_spec)
 Streams a string representation of start_spec into out. More...
 
std::ostream & operator<< (std::ostream &out, const StartLane::Spec &start_spec)
 Streams a string representation of start_spec into out. More...
 
std::ostream & operator<< (std::ostream &out, const EndReference::Spec &end_spec)
 Streams a string representation of end_spec into out. More...
 
std::ostream & operator<< (std::ostream &out, const EndLane::Spec &end_spec)
 Streams a string representation of end_spec into out. More...
 
std::ostream & operator<< (std::ostream &out, const LaneLayout &lane_layout)
 Streams a string representation of lane_layout into out. More...
 
std::ostream & operator<< (std::ostream &out, const EndpointXy &endpoint_xy)
 Streams a string representation of endpoint_xy into out. More...
 
std::ostream & operator<< (std::ostream &out, const EndpointZ &endpoint_z)
 Streams a string representation of endpoint_z into out. More...
 
std::ostream & operator<< (std::ostream &out, const Endpoint &endpoint)
 Streams a string representation of endpoint into out. More...
 
std::ostream & operator<< (std::ostream &out, const LineOffset &line_offset)
 Streams a string representation of line_offset into out. More...
 
std::ostream & operator<< (std::ostream &out, const ArcOffset &arc_offset)
 Streams a string representation of arc_offset into out. More...
 
std::unique_ptr< const api::RoadGeometryLoad (const BuilderFactoryBase &builder_factory, const std::string &input)
 Loads the input string as a maliput_multilane_builder document using the provided builder_factory. More...
 
std::unique_ptr< const api::RoadGeometryLoadFile (const BuilderFactoryBase &builder_factory, const std::string &filename)
 Loads the named file as a maliput_multilane_builder document using the provided builder_factory. More...
 
std::unique_ptr< api::RoadNetworkBuildRoadNetwork (const RoadNetworkConfiguration &road_network_configuration)
 Builds an api::RoadNetwork based on multilane implementation. More...
 
std::unique_ptr< api::RoadNetworkBuildOnRampMergeRoadNetwork (const MultilaneRoadCharacteristics &road_characteristics)
 Builds an api::RoadNetwork based on MultilaneOnrampMerge implementation. More...
 
std::ostream & operator<< (std::ostream &out, const CubicPolynomial &cubic_polynomial)
 Streams a string representation of cubic_polynomial into out. More...
 
std::unique_ptr< RoadCurveMakeRoadCurveFor (const Connection &connection)
 Creates a RoadCurve that describes the reference curve of connection. More...
 

Variables

constexpr char MULTILANE_RESOURCE_VAR [] = "MULTILANE_RESOURCE_ROOT"
 

Enumeration Type Documentation

◆ ComputationPolicy

enum ComputationPolicy
strong

A policy to guide all computations in a RoadCurve, in terms of speed and accuracy.

Enumerator
kPreferAccuracy 

Always prefer accurate results, even if at a slower pace (e.g.

using expensive numerical approximations).

kPreferSpeed 

Always prefer fast computations, even if not accurate (e.g.

using approximated analytical expressions).

◆ Direction

enum Direction
strong

Defines the direction of an Endpoint or EndpointZ.

Enumerator
kForward 
kReverse 

Function Documentation

◆ BuildOnRampMergeRoadNetwork()

std::unique_ptr< api::RoadNetwork > BuildOnRampMergeRoadNetwork ( const MultilaneRoadCharacteristics road_characteristics)

Builds an api::RoadNetwork based on MultilaneOnrampMerge implementation.

Rulebook and related entities are only set to correctly build the RoadNetwork but they are expected to be empty.

Parameters
road_characteristicsHolds the properties to build a MultilaneOnrampMerge.
Returns
A maliput::api::RoadNetwork.

◆ BuildRoadNetwork()

std::unique_ptr< api::RoadNetwork > BuildRoadNetwork ( const RoadNetworkConfiguration road_network_configuration)

Builds an api::RoadNetwork based on multilane implementation.

Parameters
road_network_configurationHolds the properties to build the RoadNetwork. When road_network_configuration.yaml_file is empty, road_network_configuration.yaml_description will be used instead.
Returns
A maliput::api::RoadNetwork.
Exceptions
maliput::common::assertion_errorWhen both road_network_configuration.yaml_file and road_network_configuration.yaml_description are empty.

◆ Load()

std::unique_ptr< const api::RoadGeometry > Load ( const BuilderFactoryBase builder_factory,
const std::string &  input 
)

Loads the input string as a maliput_multilane_builder document using the provided builder_factory.

See loader.h documentation for further details.

Application code must use a BuilderFactory reference. It is provided so that the Builder to be created can be mocked and code can be tested.

◆ LoadFile()

std::unique_ptr< const api::RoadGeometry > LoadFile ( const BuilderFactoryBase builder_factory,
const std::string &  filename 
)

Loads the named file as a maliput_multilane_builder document using the provided builder_factory.

See loader.h documentation for further details.

Application code must use a BuilderFactory reference. It is provided so that the Builder to be created can be mocked and code can be tested.

◆ MakeRoadCurveFor()

std::unique_ptr< RoadCurve > MakeRoadCurveFor ( const Connection connection)

Creates a RoadCurve that describes the reference curve of connection.

Parameters
connectionThe Connection to create a RoadCurve from.
Returns
A RoadCurve (LineRoadCurve or ArcRoadCurve based on connection.type()) that describes the reference curve of the connection.

◆ operator<<() [1/11]

std::ostream & operator<< ( std::ostream &  out,
const ArcOffset arc_offset 
)

Streams a string representation of arc_offset into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [2/11]

std::ostream & operator<< ( std::ostream &  out,
const CubicPolynomial cubic_polynomial 
)

Streams a string representation of cubic_polynomial into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [3/11]

std::ostream & operator<< ( std::ostream &  out,
const EndLane::Spec end_spec 
)

Streams a string representation of end_spec into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [4/11]

std::ostream & operator<< ( std::ostream &  out,
const Endpoint endpoint 
)

Streams a string representation of endpoint into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [5/11]

std::ostream & operator<< ( std::ostream &  out,
const EndpointXy endpoint_xy 
)

Streams a string representation of endpoint_xy into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [6/11]

std::ostream & operator<< ( std::ostream &  out,
const EndpointZ endpoint_z 
)

Streams a string representation of endpoint_z into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [7/11]

std::ostream & operator<< ( std::ostream &  out,
const EndReference::Spec end_spec 
)

Streams a string representation of end_spec into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [8/11]

std::ostream & operator<< ( std::ostream &  out,
const LaneLayout lane_layout 
)

Streams a string representation of lane_layout into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [9/11]

std::ostream & operator<< ( std::ostream &  out,
const LineOffset line_offset 
)

Streams a string representation of line_offset into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [10/11]

std::ostream & operator<< ( std::ostream &  out,
const StartLane::Spec start_spec 
)

Streams a string representation of start_spec into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

◆ operator<<() [11/11]

std::ostream & operator<< ( std::ostream &  out,
const StartReference::Spec start_spec 
)

Streams a string representation of start_spec into out.

Returns out. This method is provided for the purposes of debugging or text-logging. It is not intended for serialization.

Variable Documentation

◆ MULTILANE_RESOURCE_VAR

constexpr char MULTILANE_RESOURCE_VAR[] = "MULTILANE_RESOURCE_ROOT"
constexpr