maliput
maliput::api Namespace Reference

Namespaces

 objects
 
 rules
 
 test
 

Classes

class  BasicIdIndex
 Basic general-purpose concrete implementation of the RoadGeometry::IdIndex interface. More...
 
class  BranchPoint
 A BranchPoint is a node in the network of a RoadGeometry at which Lanes connect to one another. More...
 
class  HBounds
 Bounds in the elevation dimension (h component) of a Lane-frame, consisting of a pair of minimum and maximum h value. More...
 
class  InertialPosition
 A position in 3-dimensional geographical Cartesian space, i.e., in the Inertial-frame, consisting of three components x, y, and z. More...
 
class  Intersection
 An abstract convenience class that aggregates information pertaining to an intersection. More...
 
class  IntersectionBook
 An abstract interface for providing the mapping from Intersection::Id to Intersection. More...
 
struct  IsoLaneVelocity
 Isometric velocity vector in a Lane-frame. More...
 
class  Junction
 A Junction is a closed set of Segments which have physically coplanar road surfaces, in the sense that RoadPositions with the same h value (height above surface) in the domains of two Segments map to the same InertialPosition. More...
 
class  Lane
 A Lane represents a lane of travel in a road network. More...
 
class  LaneBoundary
 Represents a boundary between adjacent lanes or at the edge of a Segment. More...
 
struct  LaneEnd
 A specific endpoint of a specific Lane. More...
 
class  LaneEndSet
 A set of LaneEnds. More...
 
struct  LaneMarking
 Describes the complete lane marking at a lane boundary. More...
 
struct  LaneMarkingLine
 Describes a single line within a lane marking. More...
 
struct  LaneMarkingResult
 Result of querying lane marking at a specific position or range. More...
 
class  LanePosition
 A 3-dimensional position in a Lane-frame, consisting of three components: More...
 
struct  LanePositionResult
 Included in the return result of Lane::ToLanePosition(). More...
 
class  LaneSRange
 Directed longitudinal range of a specific Lane, identified by a LaneId. More...
 
class  LaneSRoute
 A route, possibly spanning multiple (end-to-end) lanes. More...
 
class  RBounds
 Bounds in the lateral dimension (r component) of a Lane-frame, consisting of a pair of minimum and maximum r value. More...
 
class  RoadGeometry
 Abstract API for the geometry of a road network, including both the network topology and the geometry of its embedding in 3-space. More...
 
class  RoadNetwork
 A container that aggregates everything pertaining to Maliput. More...
 
struct  RoadNetworkValidatorOptions
 Provides configuration options for the RoadNetworkValidator. More...
 
struct  RoadPosition
 A position in the road network, consisting of a pointer to a specific Lane and a Lane-frame position in that Lane. More...
 
struct  RoadPositionResult
 Included in the return result of RoadGeometry::FindRoadPositions() and RoadGeometry::ToRoadPosition(). More...
 
class  Rotation
 A 3-dimensional rotation. More...
 
class  Segment
 A Segment represents a bundle of adjacent Lanes which share a continuously traversable road surface. More...
 
class  SRange
 Directed, inclusive longitudinal (s value) range from s0 to s1. More...
 
class  TypeSpecificIdentifier
 TypeSpecificIdentifier<T> represents an identifier specifically identifying an entity of type T. More...
 
class  UniqueId
 Represents an unique identifier. More...
 

Typedefs

using BranchPointId = TypeSpecificIdentifier< class BranchPoint >
 
using JunctionId = TypeSpecificIdentifier< class Junction >
 Persistent identifier for a Junction element. More...
 
using LaneId = TypeSpecificIdentifier< class Lane >
 Persistent identifier for a Lane element. More...
 
using RoadGeometryId = TypeSpecificIdentifier< class RoadGeometry >
 Persistent identifier for a RoadGeometry element. More...
 
using SegmentId = TypeSpecificIdentifier< class Segment >
 Persistent identifier for a Segment element. More...
 

Enumerations

enum  LaneType {
  kUnknown = 0, kDriving, kTurn, kHov,
  kBus, kTaxi, kEmergency, kShoulder,
  kBiking, kWalking, kParking, kStop,
  kBorder, kCurb, kMedian, kRestricted,
  kConstruction, kRail, kEntry, kExit,
  kOnRamp, kOffRamp, kConnectingRamp, kSlipLane,
  kVirtual
}
 Lane classification options. More...
 
enum  LaneMarkingType {
  kUnknown = 0, kNone, kSolid, kBroken,
  kSolidSolid, kSolidBroken, kBrokenSolid, kBrokenBroken,
  kBottsDots, kGrass, kCurb, kEdge
}
 Describes the type/pattern of a lane marking line. More...
 
enum  LaneMarkingWeight { kUnknown = 0, kStandard, kBold }
 Describes the visual weight/thickness category of the marking. More...
 
enum  LaneMarkingColor {
  kUnknown = 0, kWhite, kYellow, kOrange,
  kRed, kBlue, kGreen, kViolet
}
 Describes the color of the lane marking. More...
 
enum  LaneChangePermission {
  kUnknown = 0, kAllowed, kToLeft, kToRight,
  kProhibited
}
 Describes the lane change permission indicated by the marking. More...
 
enum  TrafficControlDeviceType {
  kNone = 0, kOther, kStop, kYield,
  kSpeedLimit, kNoEntry, kOneWay, kPedestrianCrossing,
  kNoLeftTurn, kNoRightTurn, kNoUTurn, kSchoolZone,
  kConstruction, kRailroadCrossing, kNoOvertaking, kAllWay,
  kNoUTurnLeft, kNoUTurnRight, kStopLine, kCrosswalk,
  kDangerSpot, kZebraCrossing, kFlight, kCattle,
  kHorseRiders, kAmphibians, kFallingRocks, kSnowOrIce,
  kLooseGravel, kWaterside, kClearance, kMovableBridge,
  kRightBeforeLeftNextIntersection, kTurnLeft, kTurnRight, kDoubleTurnLeft,
  kDoubleTurnRight, kHillDownwards, kHillUpwards, kUnevenRoad,
  kRoadSlipperyWetOrDirty, kSideWinds, kRoadNarrowing, kRoadNarrowingRight,
  kRoadNarrowingLeft, kRoadWorks, kTrafficQueues, kTwoWayTraffic,
  kAttentionTrafficLight, kPedestrians, kChildrenCrossing, kCycleRoute,
  kDeerCrossing, kUngatedLevelCrossing, kLevelCrossingMarker, kRailwayTrafficPriority,
  kGiveWay, kPriorityToOppositeDirection, kPriorityToOppositeDirectionUpsideDown, kPrescribedLeftTurn,
  kPrescribedRightTurn, kPrescribedStraight, kPrescribedRightWay, kPrescribedLeftWay,
  kPrescribedRightTurnAndStraight, kPrescribedLeftTurnAndStraight, kPrescribedLeftTurnAndRightTurn, kPrescribedLeftTurnRightTurnAndStraight,
  kRoundabout, kOnewayLeft, kOnewayRight, kPassLeft,
  kPassRight, kSideLaneOpenForTraffic, kSideLaneClosedForTraffic, kSideLaneClosingForTraffic,
  kBusStop, kTaxiStand, kBicyclesOnly, kHorseRidersOnly,
  kPedestriansOnly, kBicyclesPedestriansSharedOnly, kBicyclesPedestriansSeparatedLeftOnly, kBicyclesPedestriansSeparatedRightOnly,
  kPedestrianZoneBegin, kPedestrianZoneEnd, kBicycleRoadBegin, kBicycleRoadEnd,
  kBusLane, kBusLaneBegin, kBusLaneEnd, kAllProhibited,
  kMotorizedMultitrackProhibited, kTrucksProhibited, kBicyclesProhibited, kMotorcyclesProhibited,
  kMopedsProhibited, kHorseRidersProhibited, kHorseCarriagesProhibited, kCattleProhibited,
  kBusesProhibited, kCarsProhibited, kCarsTrailersProhibited, kTrucksTrailersProhibited,
  kTractorsProhibited, kPedestriansProhibited, kMotorVehiclesProhibited, kHazardousGoodsVehiclesProhibited,
  kOverWeightVehiclesProhibited, kVehiclesAxleOverWeightProhibited, kVehiclesExcessWidthProhibited, kVehiclesExcessHeightProhibited,
  kVehiclesExcessLengthProhibited, kDoNotEnter, kSnowChainsRequired, kWaterPollutantVehiclesProhibited,
  kEnvironmentalZoneBegin, kEnvironmentalZoneEnd, kPrescribedUTurnLeft, kPrescribedUTurnRight,
  kMinimumDistanceForTrucks, kSpeedLimitBegin, kSpeedLimitZoneBegin, kSpeedLimitZoneEnd,
  kMinimumSpeedBegin, kOvertakingBanBegin, kOvertakingBanForTrucksBegin, kSpeedLimitEnd,
  kMinimumSpeedEnd, kOvertakingBanEnd, kOvertakingBanForTrucksEnd, kAllRestrictionsEnd,
  kNoStopping, kNoParking, kNoParkingZoneBegin, kNoParkingZoneEnd,
  kRightOfWayNextIntersection, kRightOfWayBegin, kRightOfWayEnd, kPriorityOverOppositeDirection,
  kPriorityOverOppositeDirectionUpsideDown, kTownBegin, kTownEnd, kCarParking,
  kCarParkingZoneBegin, kCarParkingZoneEnd, kSidewalkHalfParkingLeft, kSidewalkHalfParkingRight,
  kSidewalkParkingLeft, kSidewalkParkingRight, kSidewalkPerpendicularHalfParkingLeft, kSidewalkPerpendicularHalfParkingRight,
  kSidewalkPerpendicularParkingLeft, kSidewalkPerpendicularParkingRight, kLivingStreetBegin, kLivingStreetEnd,
  kTunnel, kEmergencyStoppingLeft, kEmergencyStoppingRight, kHighwayBegin,
  kHighwayEnd, kExpresswayBegin, kExpresswayEnd, kNamedHighwayExit,
  kNamedExpresswayExit, kNamedRoadExit, kHighwayExit, kExpresswayExit,
  kOnewayStreet, kCrossingGuards, kDeadend, kDeadendExcludingDesignatedActors,
  kFirstAidStation, kPoliceStation, kTelephone, kFillingStation,
  kHotel, kInn, kKiosk, kToilet,
  kChapel, kTouristInfo, kRepairService, kPedestrianUnderpass,
  kPedestrianBridge, kCamperPlace, kAdvisorySpeedLimitBegin, kAdvisorySpeedLimitEnd,
  kPlaceName, kTouristAttraction, kTouristRoute, kTouristArea,
  kShoulderNotPassableMotorVehicles, kShoulderUnsafeTrucksTractors, kTollBegin, kTollEnd,
  kTollRoad, kCustoms, kInternationalBorderInfo, kStreetlightRedBand,
  kFederalHighwayRouteNumber, kHighwayRouteNumber, kHighwayInterchangeNumber, kEuropeanRouteNumber,
  kFederalHighwayDirectionLeft, kFederalHighwayDirectionRight, kPrimaryRoadDirectionLeft, kPrimaryRoadDirectionRight,
  kSecondaryRoadDirectionLeft, kSecondaryRoadDirectionRight, kDirectionDesignatedActorsLeft, kDirectionDesignatedActorsRight,
  kRoutingDesignatedActors, kDirectionToHighwayLeft, kDirectionToHighwayRight, kDirectionToLocalDestinationLeft,
  kDirectionToLocalDestinationRight, kConsolidatedDirections, kStreetName, kDirectionPreannouncement,
  kDirectionPreannouncementLaneConfig, kDirectionPreannouncementHighwayEntries, kHighwayAnnouncement, kOtherRoadAnnouncement,
  kHighwayAnnouncementTruckStop, kHighwayPreannouncementDirections, kPoleExit, kHighwayDistanceBoard,
  kDetourLeft, kDetourRight, kNumberedDetour, kDetourBegin,
  kDetourEnd, kDetourRoutingBoard, kOptionalDetour, kOptionalDetourRouting,
  kRouteRecommendation, kRouteRecommendationEnd, kAnnounceLaneTransitionLeft, kAnnounceLaneTransitionRight,
  kAnnounceRightLaneEnd, kAnnounceLeftLaneEnd, kAnnounceRightLaneBegin, kAnnounceLeftLaneBegin,
  kAnnounceLaneConsolidation, kDetourCityBlock, kGate, kPoleWarning,
  kTrafficCone, kMobileLaneClosure, kReflectorPost, kDirectionalBoardWarning,
  kGuidingPlate, kGuidingPlateWedges, kParkingHazard, kTrafficLightGreenArrow,
  kText, kSpace, kTime, kArrow,
  kConstrainedTo, kExcept, kValidForDistance, kPriorityRoadBottomLeftFourWay,
  kPriorityRoadTopLeftFourWay, kPriorityRoadBottomLeftThreeWayStraight, kPriorityRoadBottomLeftThreeWaySideways, kPriorityRoadTopLeftThreeWayStraight,
  kPriorityRoadBottomRightFourWay, kPriorityRoadTopRightFourWay, kPriorityRoadBottomRightThreeWayStraight, kPriorityRoadBottomRightThreeWaySideway,
  kPriorityRoadTopRightThreeWayStraight, kValidInDistance, kStopIn, kLeftArrow,
  kLeftBendArrow, kRightArrow, kRightBendArrow, kAccident,
  kSnow, kFog, kRollingHighwayInformation, kServices,
  kTimeRange, kParkingDiscTimeRestriction, kWeight, kWet,
  kParkingConstraint, kNoWaitingSideStripes, kRain, kSnowRain,
  kNight, kStop4Way, kTruck, kTractorsMayBePassed,
  kHazardous, kTrailer, kZone, kMotorcycle,
  kMotorcycleAllowed, kCar, kEmergencyLane, kUnknown
}
 Defines shared traffic control device semantics. More...
 

Functions

common::ComparisonResult< LanePositionResultIsLanePositionResultClose (const LanePositionResult &lpr_a, const LanePositionResult &lpr_b, double tolerance)
 Compares equality within tolerance deviation of the maliput::api::LanePositionResult lpr_a and lpr_B. More...
 
common::ComparisonResult< RoadPositionResultIsRoadPositionResultClose (const maliput::api::RoadPositionResult &rpr_a, const maliput::api::RoadPositionResult &rpr_b, double tolerance)
 Compares equality within tolerance deviation of the maliput::api::RoadPositionResult rpr_a and rpr_B. More...
 
common::ComparisonResult< InertialPositionIsInertialPositionClose (const InertialPosition &pos1, const InertialPosition &pos2, double tolerance)
 Compares equality within tolerance deviation of two InertialPosition objects. More...
 
common::ComparisonResult< LanePositionIsLanePositionClose (const LanePosition &pos1, const LanePosition &pos2, double tolerance)
 Compares equality within tolerance deviation of two LanePosition objects. More...
 
common::ComparisonResult< RotationIsRotationClose (const Rotation &rot1, const Rotation &rot2, double tolerance)
 Compares equality within tolerance deviation of two Rotation objects. More...
 
common::ComparisonResult< RBoundsIsRBoundsClose (const RBounds &rbounds1, const RBounds &rbounds2, double tolerance)
 Compares equality within tolerance deviation of two RBounds objects. More...
 
common::ComparisonResult< HBoundsIsHBoundsClose (const HBounds &hbounds1, const HBounds &hbounds2, double tolerance)
 Compares equality within tolerance deviation of two HBounds objects. More...
 
common::ComparisonResult< LaneEndIsLaneEndEqual (const LaneEnd &lane_end1, const LaneEnd &lane_end2)
 Compares equality of two LaneEnd objects. More...
 
common::ComparisonResult< JunctionIsEqual (const char *a_expression, const char *b_expression, const Junction *a, const Junction *b)
 Compares equality of two Junction objects. More...
 
common::ComparisonResult< SegmentIsEqual (const char *a_expression, const char *b_expression, const Segment *a, const Segment *b)
 Compares equality of two Segment objects. More...
 
common::ComparisonResult< LaneIsEqual (const char *a_expression, const char *b_expression, const Lane *a, const Lane *b)
 Compares equality of two Lane objects. More...
 
common::ComparisonResult< BranchPointIsEqual (const char *a_expression, const char *b_expression, const BranchPoint *a, const BranchPoint *b)
 Compares equality of two BranchPoint objects. More...
 
common::ComparisonResult< bool > IsEqual (const char *a_expression, const char *b_expression, bool a, bool b)
 Compares equality of two booleans. More...
 
common::ComparisonResult< doubleIsEqual (const char *a_expression, const char *b_expression, double a, double b)
 Compares equality of two doubles. More...
 
common::ComparisonResult< std::size_t > IsEqual (const char *a_expression, const char *b_expression, std::size_t a, std::size_t b)
 Compares equality of two std::size_t. More...
 
template<typename T >
common::ComparisonResult< TypeSpecificIdentifier< T > > IsEqual (const char *a_expression, const char *b_expression, const TypeSpecificIdentifier< T > &a, const TypeSpecificIdentifier< T > &b)
 Compares equality of two TypeSpecificIdentifier<T>. More...
 
common::ComparisonResult< SRangeIsEqual (const SRange &s_range_1, const SRange &s_range_2)
 Compares equality of two SRanges. More...
 
common::ComparisonResult< LaneSRangeIsEqual (const LaneSRange &lane_s_range_1, const LaneSRange &lane_s_range_2)
 Compares equality of two LaneSRange. More...
 
common::ComparisonResult< std::vector< LaneSRange > > IsEqual (const std::vector< LaneSRange > &lane_s_ranges_1, const std::vector< LaneSRange > &lane_s_ranges_2)
 Compares equality of two std::vector<LaneSRange>. More...
 
common::ComparisonResult< LaneSRouteIsEqual (const LaneSRoute &lane_s_route_1, const LaneSRoute &lane_s_route_2)
 Compares equality of two LaneSRoute. More...
 
common::ComparisonResult< InertialPositionIsEqual (const InertialPosition &inertial_position_1, const InertialPosition &inertial_position_2)
 Compares equality of two InertialPosition. More...
 
common::ComparisonResult< RotationIsEqual (const Rotation &rotation_1, const Rotation &rotation_2)
 Compares equality of two Rotation. More...
 
common::ComparisonResult< LaneEnd::WhichIsEqual (const LaneEnd::Which &which_1, const LaneEnd::Which &which_2)
 Compares equality of two LaneEnd::Which. More...
 
common::ComparisonResult< LaneEndIsEqual (const LaneEnd &lane_end_1, const LaneEnd &lane_end_2)
 Compares equality of two LaneEnd. More...
 
std::optional< std::string > CheckIdIndexing (const RoadGeometry *road_geometry)
 Checks that the given RoadGeometry's ById() indexing is correct. More...
 
std::ostream & operator<< (std::ostream &out, const LaneEnd::Which &which_end)
 Streams a string representation of which_end into out. More...
 
std::ostream & operator<< (std::ostream &out, const InertialPosition &inertial_position)
 Streams a string representation of inertial_position into out. More...
 
std::ostream & operator<< (std::ostream &out, const Rotation &rotation)
 Streams a string representation of rotation into out. More...
 
std::ostream & operator<< (std::ostream &out, const LanePosition &lane_position)
 Streams a string representation of lane_position into out. More...
 
bool IsContiguous (const LaneSRange &lane_range_a, const LaneSRange &lane_range_b, const RoadGeometry *road_geometry)
 Evaluates whether lane_range_a end point is G1 contiguous with lane_range_b start pose. More...
 
bool IsIncluded (const InertialPosition &inertial_position, const std::vector< LaneSRange > &lane_s_ranges, const RoadGeometry *road_geometry)
 Evaluates whether inertial_position is within lane_s_ranges. More...
 
void ValidateRoadNetwork (const RoadNetwork &road_network, const RoadNetworkValidatorOptions &options)
 Validates a RoadNetwork. More...
 
std::unordered_map< TrafficControlDeviceType, const char *, maliput::common::DefaultHashTrafficControlDeviceTypeMapper ()
 Maps TrafficControlDeviceType enums to string representations. More...
 

Typedef Documentation

◆ BranchPointId

◆ JunctionId

Persistent identifier for a Junction element.

◆ LaneId

Persistent identifier for a Lane element.

◆ RoadGeometryId

Persistent identifier for a RoadGeometry element.

◆ SegmentId

Persistent identifier for a Segment element.

Enumeration Type Documentation

◆ LaneType

enum LaneType
strong

Lane classification options.

LaneType defines the intended use of a lane.

Enumerator
kUnknown 
kDriving 
kTurn 
kHov 
kBus 
kTaxi 
kEmergency 
kShoulder 
kBiking 
kWalking 
kParking 
kStop 
kBorder 
kCurb 
kMedian 
kRestricted 
kConstruction 
kRail 
kEntry 
kExit 
kOnRamp 
kOffRamp 
kConnectingRamp 
kSlipLane 
kVirtual 

◆ TrafficControlDeviceType

Defines shared traffic control device semantics.

This enum is the single source of truth for both traffic sign and road marking semantic types.

Enumerator
kNone 
kOther 
kStop 
kYield 
kSpeedLimit 
kNoEntry 
kOneWay 
kPedestrianCrossing 
kNoLeftTurn 
kNoRightTurn 
kNoUTurn 
kSchoolZone 
kConstruction 
kRailroadCrossing 
kNoOvertaking 
kAllWay 
kNoUTurnLeft 
kNoUTurnRight 
kStopLine 
kCrosswalk 
kDangerSpot 
kZebraCrossing 
kFlight 
kCattle 
kHorseRiders 
kAmphibians 
kFallingRocks 
kSnowOrIce 
kLooseGravel 
kWaterside 
kClearance 
kMovableBridge 
kRightBeforeLeftNextIntersection 
kTurnLeft 
kTurnRight 
kDoubleTurnLeft 
kDoubleTurnRight 
kHillDownwards 
kHillUpwards 
kUnevenRoad 
kRoadSlipperyWetOrDirty 
kSideWinds 
kRoadNarrowing 
kRoadNarrowingRight 
kRoadNarrowingLeft 
kRoadWorks 
kTrafficQueues 
kTwoWayTraffic 
kAttentionTrafficLight 
kPedestrians 
kChildrenCrossing 
kCycleRoute 
kDeerCrossing 
kUngatedLevelCrossing 
kLevelCrossingMarker 
kRailwayTrafficPriority 
kGiveWay 
kPriorityToOppositeDirection 
kPriorityToOppositeDirectionUpsideDown 
kPrescribedLeftTurn 
kPrescribedRightTurn 
kPrescribedStraight 
kPrescribedRightWay 
kPrescribedLeftWay 
kPrescribedRightTurnAndStraight 
kPrescribedLeftTurnAndStraight 
kPrescribedLeftTurnAndRightTurn 
kPrescribedLeftTurnRightTurnAndStraight 
kRoundabout 
kOnewayLeft 
kOnewayRight 
kPassLeft 
kPassRight 
kSideLaneOpenForTraffic 
kSideLaneClosedForTraffic 
kSideLaneClosingForTraffic 
kBusStop 
kTaxiStand 
kBicyclesOnly 
kHorseRidersOnly 
kPedestriansOnly 
kBicyclesPedestriansSharedOnly 
kBicyclesPedestriansSeparatedLeftOnly 
kBicyclesPedestriansSeparatedRightOnly 
kPedestrianZoneBegin 
kPedestrianZoneEnd 
kBicycleRoadBegin 
kBicycleRoadEnd 
kBusLane 
kBusLaneBegin 
kBusLaneEnd 
kAllProhibited 
kMotorizedMultitrackProhibited 
kTrucksProhibited 
kBicyclesProhibited 
kMotorcyclesProhibited 
kMopedsProhibited 
kHorseRidersProhibited 
kHorseCarriagesProhibited 
kCattleProhibited 
kBusesProhibited 
kCarsProhibited 
kCarsTrailersProhibited 
kTrucksTrailersProhibited 
kTractorsProhibited 
kPedestriansProhibited 
kMotorVehiclesProhibited 
kHazardousGoodsVehiclesProhibited 
kOverWeightVehiclesProhibited 
kVehiclesAxleOverWeightProhibited 
kVehiclesExcessWidthProhibited 
kVehiclesExcessHeightProhibited 
kVehiclesExcessLengthProhibited 
kDoNotEnter 
kSnowChainsRequired 
kWaterPollutantVehiclesProhibited 
kEnvironmentalZoneBegin 
kEnvironmentalZoneEnd 
kPrescribedUTurnLeft 
kPrescribedUTurnRight 
kMinimumDistanceForTrucks 
kSpeedLimitBegin 
kSpeedLimitZoneBegin 
kSpeedLimitZoneEnd 
kMinimumSpeedBegin 
kOvertakingBanBegin 
kOvertakingBanForTrucksBegin 
kSpeedLimitEnd 
kMinimumSpeedEnd 
kOvertakingBanEnd 
kOvertakingBanForTrucksEnd 
kAllRestrictionsEnd 
kNoStopping 
kNoParking 
kNoParkingZoneBegin 
kNoParkingZoneEnd 
kRightOfWayNextIntersection 
kRightOfWayBegin 
kRightOfWayEnd 
kPriorityOverOppositeDirection 
kPriorityOverOppositeDirectionUpsideDown 
kTownBegin 
kTownEnd 
kCarParking 
kCarParkingZoneBegin 
kCarParkingZoneEnd 
kSidewalkHalfParkingLeft 
kSidewalkHalfParkingRight 
kSidewalkParkingLeft 
kSidewalkParkingRight 
kSidewalkPerpendicularHalfParkingLeft 
kSidewalkPerpendicularHalfParkingRight 
kSidewalkPerpendicularParkingLeft 
kSidewalkPerpendicularParkingRight 
kLivingStreetBegin 
kLivingStreetEnd 
kTunnel 
kEmergencyStoppingLeft 
kEmergencyStoppingRight 
kHighwayBegin 
kHighwayEnd 
kExpresswayBegin 
kExpresswayEnd 
kNamedHighwayExit 
kNamedExpresswayExit 
kNamedRoadExit 
kHighwayExit 
kExpresswayExit 
kOnewayStreet 
kCrossingGuards 
kDeadend 
kDeadendExcludingDesignatedActors 
kFirstAidStation 
kPoliceStation 
kTelephone 
kFillingStation 
kHotel 
kInn 
kKiosk 
kToilet 
kChapel 
kTouristInfo 
kRepairService 
kPedestrianUnderpass 
kPedestrianBridge 
kCamperPlace 
kAdvisorySpeedLimitBegin 
kAdvisorySpeedLimitEnd 
kPlaceName 
kTouristAttraction 
kTouristRoute 
kTouristArea 
kShoulderNotPassableMotorVehicles 
kShoulderUnsafeTrucksTractors 
kTollBegin 
kTollEnd 
kTollRoad 
kCustoms 
kInternationalBorderInfo 
kStreetlightRedBand 
kFederalHighwayRouteNumber 
kHighwayRouteNumber 
kHighwayInterchangeNumber 
kEuropeanRouteNumber 
kFederalHighwayDirectionLeft 
kFederalHighwayDirectionRight 
kPrimaryRoadDirectionLeft 
kPrimaryRoadDirectionRight 
kSecondaryRoadDirectionLeft 
kSecondaryRoadDirectionRight 
kDirectionDesignatedActorsLeft 
kDirectionDesignatedActorsRight 
kRoutingDesignatedActors 
kDirectionToHighwayLeft 
kDirectionToHighwayRight 
kDirectionToLocalDestinationLeft 
kDirectionToLocalDestinationRight 
kConsolidatedDirections 
kStreetName 
kDirectionPreannouncement 
kDirectionPreannouncementLaneConfig 
kDirectionPreannouncementHighwayEntries 
kHighwayAnnouncement 
kOtherRoadAnnouncement 
kHighwayAnnouncementTruckStop 
kHighwayPreannouncementDirections 
kPoleExit 
kHighwayDistanceBoard 
kDetourLeft 
kDetourRight 
kNumberedDetour 
kDetourBegin 
kDetourEnd 
kDetourRoutingBoard 
kOptionalDetour 
kOptionalDetourRouting 
kRouteRecommendation 
kRouteRecommendationEnd 
kAnnounceLaneTransitionLeft 
kAnnounceLaneTransitionRight 
kAnnounceRightLaneEnd 
kAnnounceLeftLaneEnd 
kAnnounceRightLaneBegin 
kAnnounceLeftLaneBegin 
kAnnounceLaneConsolidation 
kDetourCityBlock 
kGate 
kPoleWarning 
kTrafficCone 
kMobileLaneClosure 
kReflectorPost 
kDirectionalBoardWarning 
kGuidingPlate 
kGuidingPlateWedges 
kParkingHazard 
kTrafficLightGreenArrow 
kText 
kSpace 
kTime 
kArrow 
kConstrainedTo 
kExcept 
kValidForDistance 
kPriorityRoadBottomLeftFourWay 
kPriorityRoadTopLeftFourWay 
kPriorityRoadBottomLeftThreeWayStraight 
kPriorityRoadBottomLeftThreeWaySideways 
kPriorityRoadTopLeftThreeWayStraight 
kPriorityRoadBottomRightFourWay 
kPriorityRoadTopRightFourWay 
kPriorityRoadBottomRightThreeWayStraight 
kPriorityRoadBottomRightThreeWaySideway 
kPriorityRoadTopRightThreeWayStraight 
kValidInDistance 
kStopIn 
kLeftArrow 
kLeftBendArrow 
kRightArrow 
kRightBendArrow 
kAccident 
kSnow 
kFog 
kRollingHighwayInformation 
kServices 
kTimeRange 
kParkingDiscTimeRestriction 
kWeight 
kWet 
kParkingConstraint 
kNoWaitingSideStripes 
kRain 
kSnowRain 
kNight 
kStop4Way 
kTruck 
kTractorsMayBePassed 
kHazardous 
kTrailer 
kZone 
kMotorcycle 
kMotorcycleAllowed 
kCar 
kEmergencyLane 
kUnknown 

Function Documentation

◆ CheckIdIndexing()

std::optional< std::string > CheckIdIndexing ( const RoadGeometry road_geometry)

Checks that the given RoadGeometry's ById() indexing is correct.

Parameters
road_geometryThe RoadGeometry to check.
Returns
A std::optional<std::string> containing an error message if the indexing is incorrect.

◆ IsContiguous()

bool IsContiguous ( const LaneSRange lane_range_a,
const LaneSRange lane_range_b,
const RoadGeometry road_geometry 
)

Evaluates whether lane_range_a end point is G1 contiguous with lane_range_b start pose.

Parameters
lane_range_aA LaneSRange in road_geometry. Its ID must belong to a road_geometry 's Lane.
lane_range_bA LaneSRange in road_geometry. Its ID must belong to a road_geometry 's Lane.
road_geometryThe RoadGeometry where lane_range_a and lane_range_b are contained. It must not be nullptr.
Returns
true When lane_range_a end pose and lane_range_b start pose are within linear and angular tolerance in the Inertial-frame. Otherwise, it returns false.
Exceptions
common::assertion_errorWhen lane_range_a 's Lane is not found in road_geometry.
common::assertion_errorWhen lane_range_b 's Lane is not found in road_geometry.
common::assertion_errorWhen road_geometry is nullptr.

◆ IsEqual() [1/16]

common::ComparisonResult< bool > IsEqual ( const char *  a_expression,
const char *  b_expression,
bool  a,
bool  b 
)

Compares equality of two booleans.

Parameters
a_expressionLiteral expression of the first boolean.
b_expressionLiteral expression of the second boolean.
aThe first boolean to compare.
bThe second boolean to compare.
Returns
A ComparisonResult indicating whether the two booleans are equal.

◆ IsEqual() [2/16]

common::ComparisonResult< BranchPoint > IsEqual ( const char *  a_expression,
const char *  b_expression,
const BranchPoint a,
const BranchPoint b 
)

Compares equality of two BranchPoint objects.

Parameters
a_expressionLiteral expression of the first BranchPoint.
b_expressionLiteral expression of the second BranchPoint.
aThe first BranchPoint to compare.
bThe second BranchPoint to compare.
Returns
A ComparisonResult indicating whether the two BranchPoints are the same.

◆ IsEqual() [3/16]

common::ComparisonResult< maliput::api::Junction > IsEqual ( const char *  a_expression,
const char *  b_expression,
const Junction a,
const Junction b 
)

Compares equality of two Junction objects.

Parameters
a_expressionLiteral expression of the first Junction.
b_expressionLiteral expression of the second Junction.
aThe first Junction to compare.
bThe second Junction to compare.
Returns
A ComparisonResult indicating whether the two Junctions are the same.

◆ IsEqual() [4/16]

common::ComparisonResult< Lane > IsEqual ( const char *  a_expression,
const char *  b_expression,
const Lane a,
const Lane b 
)

Compares equality of two Lane objects.

Parameters
a_expressionLiteral expression of the first Lane.
b_expressionLiteral expression of the second Lane.
aThe first Lane to compare.
bThe second Lane to compare.
Returns
A ComparisonResult indicating whether the two Lanes are the same.

◆ IsEqual() [5/16]

common::ComparisonResult< Segment > IsEqual ( const char *  a_expression,
const char *  b_expression,
const Segment a,
const Segment b 
)

Compares equality of two Segment objects.

Parameters
a_expressionLiteral expression of the first Segment.
b_expressionLiteral expression of the second Segment.
aThe first Segment to compare.
bThe second Segment to compare.
Returns
A ComparisonResult indicating whether the two Segments are the same.

◆ IsEqual() [6/16]

common::ComparisonResult<TypeSpecificIdentifier<T> > maliput::api::IsEqual ( const char *  a_expression,
const char *  b_expression,
const TypeSpecificIdentifier< T > &  a,
const TypeSpecificIdentifier< T > &  b 
)

Compares equality of two TypeSpecificIdentifier<T>.

@paramT T The type of the TypeSpecificIdentifier.

Parameters
a_expressionLiteral expression of the first TypeSpecificIdentifier.
b_expressionLiteral expression of the second TypeSpecificIdentifier.
aThe first TypeSpecificIdentifier to compare.
bThe second TypeSpecificIdentifier to compare.
Returns
A ComparisonResult indicating whether the two TypeSpecificIdentifiers are equal.

◆ IsEqual() [7/16]

common::ComparisonResult< double > IsEqual ( const char *  a_expression,
const char *  b_expression,
double  a,
double  b 
)

Compares equality of two doubles.

Parameters
a_expressionLiteral expression of the first double.
b_expressionLiteral expression of the second double.
aThe first double to compare.
bThe second double to compare.
Returns
A ComparisonResult indicating whether the two doubles are equal.

◆ IsEqual() [8/16]

common::ComparisonResult< std::size_t > IsEqual ( const char *  a_expression,
const char *  b_expression,
std::size_t  a,
std::size_t  b 
)

Compares equality of two std::size_t.

Parameters
a_expressionLiteral expression of the first std::size_t.
b_expressionLiteral expression of the second std::size_t.
aThe first std::size_t to compare.
bThe second std::size_t to compare.
Returns
A ComparisonResult indicating whether the two std::size_t are equal.

◆ IsEqual() [9/16]

common::ComparisonResult< InertialPosition > IsEqual ( const InertialPosition inertial_position_1,
const InertialPosition inertial_position_2 
)

Compares equality of two InertialPosition.

Parameters
inertial_position_1The first InertialPosition to compare.
inertial_position_2The second InertialPosition to compare.
Returns
A ComparisonResult indicating whether the two InertialPositions are equal.

◆ IsEqual() [10/16]

common::ComparisonResult< LaneEnd > IsEqual ( const LaneEnd lane_end_1,
const LaneEnd lane_end_2 
)

Compares equality of two LaneEnd.

Parameters
lane_end_1The first LaneEnd to compare.
lane_end_2The second LaneEnd to compare.
Returns
A ComparisonResult indicating whether the two LaneEnds are equal.

◆ IsEqual() [11/16]

common::ComparisonResult< LaneEnd::Which > IsEqual ( const LaneEnd::Which which_1,
const LaneEnd::Which which_2 
)

Compares equality of two LaneEnd::Which.

Parameters
which_1The first LaneEnd::Which to compare.
which_2The second LaneEnd::Which to compare.
Returns
A ComparisonResult indicating whether the two LaneEnd::Which are equal.

◆ IsEqual() [12/16]

common::ComparisonResult< LaneSRange > IsEqual ( const LaneSRange lane_s_range_1,
const LaneSRange lane_s_range_2 
)

Compares equality of two LaneSRange.

Parameters
lane_s_range_1The first LaneSRange to compare.
lane_s_range_2The second LaneSRange to compare.
Returns
A ComparisonResult indicating whether the two LaneSRanges are equal.

◆ IsEqual() [13/16]

common::ComparisonResult< LaneSRoute > IsEqual ( const LaneSRoute lane_s_route_1,
const LaneSRoute lane_s_route_2 
)

Compares equality of two LaneSRoute.

Parameters
lane_s_route_1The first LaneSRoute to compare.
lane_s_route_2The second LaneSRoute to compare.
Returns
A ComparisonResult indicating whether the two LaneSRoutes are equal.

◆ IsEqual() [14/16]

common::ComparisonResult< Rotation > IsEqual ( const Rotation rotation_1,
const Rotation rotation_2 
)

Compares equality of two Rotation.

Parameters
rotation_1The first Rotation to compare.
rotation_2The second Rotation to compare.
Returns
A ComparisonResult indicating whether the two Rotations are equal.

◆ IsEqual() [15/16]

common::ComparisonResult< SRange > IsEqual ( const SRange s_range_1,
const SRange s_range_2 
)

Compares equality of two SRanges.

Parameters
s_range_1The first SRange to compare.
s_range_2The second SRange to compare.
Returns
A ComparisonResult indicating whether the two SRanges are equal.

◆ IsEqual() [16/16]

common::ComparisonResult< std::vector< LaneSRange > > IsEqual ( const std::vector< LaneSRange > &  lane_s_ranges_1,
const std::vector< LaneSRange > &  lane_s_ranges_2 
)

Compares equality of two std::vector<LaneSRange>.

Parameters
lane_s_ranges_1The first std::vector<LaneSRange> to compare.
lane_s_ranges_2The second std::vector<LaneSRange> to compare.
Returns
A ComparisonResult indicating whether the two std::vector<LaneSRange> are equal.

◆ IsHBoundsClose()

common::ComparisonResult< HBounds > IsHBoundsClose ( const HBounds hbounds1,
const HBounds hbounds2,
double  tolerance 
)

Compares equality within tolerance deviation of two HBounds objects.

Parameters
hbounds1A HBounds object to compare.
hbounds1A HBounds object to compare.
toleranceAn allowable absolute deviation for each HBounds's instance value.
Returns
A ComparisonResult indicating whether the two HBounds are close.

◆ IsIncluded()

bool IsIncluded ( const InertialPosition inertial_position,
const std::vector< LaneSRange > &  lane_s_ranges,
const RoadGeometry road_geometry 
)

Evaluates whether inertial_position is within lane_s_ranges.

Parameters
inertial_positionA InertialPosition in the Inertial-frame.
lane_s_rangesA vector of LaneSRanges that define a region.
road_geometryThe RoadGeometry where lane_s_ranges is contained. It must not be nullptr.
Returns
True when inertial_position is within lane_s_ranges. inertial_position is contained if the distance to the closest LanePosition of lane_s_ranges is less or equal than the linear tolerance of the road_geometry.
Exceptions
common::assertion_errorWhen road_geometry is nullptr.
common::assertion_errorWhen Lanes in lane_s_ranges are not found in road_geometry.

◆ IsInertialPositionClose()

common::ComparisonResult< InertialPosition > IsInertialPositionClose ( const InertialPosition pos1,
const InertialPosition pos2,
double  tolerance 
)

Compares equality within tolerance deviation of two InertialPosition objects.

Parameters
pos1A InertialPosition object to compare.
pos2A InertialPosition object to compare.
toleranceAn allowable absolute deviation for each InertialPosition's coordinate.
Returns
A ComparisonResult indicating whether the two InertialPositions are close.

◆ IsLaneEndEqual()

common::ComparisonResult< LaneEnd > IsLaneEndEqual ( const LaneEnd lane_end1,
const LaneEnd lane_end2 
)

Compares equality of two LaneEnd objects.

Parameters
lane_end1A LaneEnd object to compare.
lane_end2A LaneEnd object to compare.
Returns
A ComparisonResult indicating whether the two LaneEnds are equal.

◆ IsLanePositionClose()

common::ComparisonResult< LanePosition > IsLanePositionClose ( const LanePosition pos1,
const LanePosition pos2,
double  tolerance 
)

Compares equality within tolerance deviation of two LanePosition objects.

Parameters
pos1A LanePosition object to compare.
pos2A LanePosition object to compare.
toleranceAn allowable absolute deviation for each LanePosition's coordinate.
Returns
A ComparisonResult indicating whether the two LanePositions are close.

◆ IsLanePositionResultClose()

common::ComparisonResult< LanePositionResult > IsLanePositionResultClose ( const LanePositionResult lpr_a,
const LanePositionResult lpr_b,
double  tolerance 
)

Compares equality within tolerance deviation of the maliput::api::LanePositionResult lpr_a and lpr_B.

Parameters
lpr_aThe first LanePositionResult to compare.
lpr_bThe second LanePositionResult to compare.
toleranceThe tolerance to use for the comparison.
Returns
A ComparisonResult indicating whether the two LanePositionResults are close.

◆ IsRBoundsClose()

common::ComparisonResult< RBounds > IsRBoundsClose ( const RBounds rbounds1,
const RBounds rbounds2,
double  tolerance 
)

Compares equality within tolerance deviation of two RBounds objects.

Parameters
rbounds1A RBounds object to compare.
rbounds2A RBounds object to compare.
toleranceAn allowable absolute deviation for each RBounds's instance value.
Returns
A ComparisonResult indicating whether the two RBounds are close.

◆ IsRoadPositionResultClose()

common::ComparisonResult< RoadPositionResult > IsRoadPositionResultClose ( const maliput::api::RoadPositionResult rpr_a,
const maliput::api::RoadPositionResult rpr_b,
double  tolerance 
)

Compares equality within tolerance deviation of the maliput::api::RoadPositionResult rpr_a and rpr_B.

Parameters
rpr_aThe first RoadPositionResult to compare.
rpr_bThe second RoadPositionResult to compare.
toleranceThe tolerance to use for the comparison.
Returns
A ComparisonResult indicating whether the two RoadPositionResults are close.

◆ IsRotationClose()

common::ComparisonResult< Rotation > IsRotationClose ( const Rotation rot1,
const Rotation rot2,
double  tolerance 
)

Compares equality within tolerance deviation of two Rotation objects.

Comparison will evaluate the inner Rotation's Euler angles.

Parameters
rot1A Rotation object to compare.
rot2A Rotation object to compare.
toleranceAn allowable absolute deviation for each Rotation's coordinate.
Returns
A ComparisonResult indicating whether the two Rotations are close.

◆ operator<<() [1/4]

std::ostream & operator<< ( std::ostream &  out,
const InertialPosition inertial_position 
)

Streams a string representation of inertial_position into out.

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

◆ operator<<() [2/4]

std::ostream & operator<< ( std::ostream &  out,
const LaneEnd::Which which_end 
)

Streams a string representation of which_end into out.

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

◆ operator<<() [3/4]

std::ostream & operator<< ( std::ostream &  out,
const LanePosition lane_position 
)

Streams a string representation of lane_position into out.

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

◆ operator<<() [4/4]

std::ostream & operator<< ( std::ostream &  out,
const Rotation rotation 
)

Streams a string representation of rotation into out.

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

◆ TrafficControlDeviceTypeMapper()

std::unordered_map< TrafficControlDeviceType, const char *, maliput::common::DefaultHash > TrafficControlDeviceTypeMapper ( )

Maps TrafficControlDeviceType enums to string representations.

◆ ValidateRoadNetwork()

void ValidateRoadNetwork ( const RoadNetwork road_network,
const RoadNetworkValidatorOptions options 
)

Validates a RoadNetwork.

Parameters
road_networkThe RoadNetwork to validate.
optionsOptions for selecting what aspects of RoadNetwork to check.
Exceptions
maliput::common::assertion_errorWhen road_network is not valid.