Drake
Segment Class Referencefinal

Dragway's implementation of api::Segment. More...

#include <drake/automotive/maliput/dragway/segment.h>

Inheritance diagram for Segment:
[legend]
Collaboration diagram for Segment:
[legend]

Public Member Functions

 Segment (Junction *junction, int num_lanes, double length, double lane_width, double shoulder_width, double maximum_height)
 Constructs a new dragway Segment. More...
 
 ~Segment () final=default
 
Does not allow copy, move, or assignment
 Segment (const Segment &)=delete
 
Segmentoperator= (const Segment &)=delete
 
 Segment (Segment &&)=delete
 
Segmentoperator= (Segment &&)=delete
 
- Public Member Functions inherited from Segment
const SegmentId id () const
 Returns the persistent identifier. More...
 
const Junctionjunction () const
 Returns the Junction to which this Segment belongs. More...
 
int num_lanes () const
 Returns the number of Lanes contained in this Segment. More...
 
const Lanelane (int index) const
 Returns the Lane indexed by index. More...
 
 Segment (const Segment &)=delete
 
Segmentoperator= (const Segment &)=delete
 
 Segment (Segment &&)=delete
 
Segmentoperator= (Segment &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from Segment
 Segment ()=default
 

Detailed Description

Dragway's implementation of api::Segment.

It contains multiple straight lanes. For the lane semantics, see the class descriptions of Lane.

The following ASCII art shows how N lanes are arranged in a segment.

            lane_bounds ---     X         -------- lane index 1
                          |     ^         |
   lane index n ---       |     |         |   --- lane index 0
                  |       |     |         |   |
                  V     |<->|   |         V   V
              -------------------------------------
              | | : | : | : | : | : | : | : | : | |
              | | : | : | : | : | : | : | : | : | |
              | | : | : | : | : | : | : | : | : | |
              | | : | : | : | : | : | : | : | : | |
              | | : | : | : | : | : | : | : | : | |
              | | : | : | : | : | : | : | : | : | |
Y <-----------------------------o----------------------------->
              ^                 |             ^   ^
              |                 |             |   |
            y_max               |             |  y_min
                                |             |
                                V             --- y offset of lane 0
              |<--------------------------------->|
                            road_width

Note that lane indices increase to the left, which matches the fact that within a Lane, r increases to the left.

Constructor & Destructor Documentation

Segment ( const Segment )
delete
Segment ( Segment &&  )
delete
Segment ( Junction junction,
int  num_lanes,
double  length,
double  lane_width,
double  shoulder_width,
double  maximum_height 
)

Constructs a new dragway Segment.

Parameters
[in]junctionThe junction to which this Segment belongs.
[in]num_lanesThe number of lanes in the segment.
[in]lengthThe length of the dragway.
[in]lane_widthThe width of each lane.
[in]shoulder_widthThe width of the shoulders on each side of the road.
[in]maximum_heightThe maximum height above the road surface. modelled by the RoadGeometry.

Here is the call graph for this function:

~Segment ( )
finalvirtualdefault

Reimplemented from Segment.

Member Function Documentation

Segment& operator= ( const Segment )
delete
Segment& operator= ( Segment &&  )
delete

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