Module scenariogeneration.xodr.enumerations

scenariogeneration https://github.com/pyoscx/scenariogeneration

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

Copyright (c) 2022 The scenariogeneration Authors.

Functions

def enumchecker(value: enum.Enum | str | None,
enum_type: Type[enum.Enum],
none_ok: bool = False) ‑> enum.Enum
Expand source code
def enumchecker(
    value: Union[Enum, str, None], enum_type: Type[Enum], none_ok: bool = False
) -> Enum:
    """Check if an enum value is correct. If the input is a string, attempt to
    convert it to the enum.

    Parameters
    ----------
    value : Enum or str or None
        The value to check or convert.
    enum_type : Type[Enum]
        The enumeration type to validate against.
    none_ok : bool, optional
        Whether None is an acceptable value. Defaults to False.

    Returns
    -------
    Enum
        The validated or converted enum value.

    Raises
    ------
    TypeError
        If the value is invalid or cannot be converted to the enum type.
    """
    if value is None:
        if none_ok:
            return value
        else:
            raise TypeError("None is not a valid enumeration")
    if isinstance(value, Enum):
        if hasattr(enum_type, value.name):
            return value
        else:
            raise TypeError(
                value.get_name()
                + " is not of Enumeration type :"
                + str(enum_type)
            )

    elif isinstance(value, str):
        if hasattr(enum_type, value):
            return enum_type[value]
        else:
            raise TypeError(
                value
                + " is not a valid string input for Enumeration type "
                + str(enum_type)
            )
    else:
        raise TypeError(
            "Type: " + type(enum_type) + " is not a valid input for Enums."
        )

Check if an enum value is correct. If the input is a string, attempt to convert it to the enum.

Parameters

value : Enum or str or None
The value to check or convert.
enum_type : Type[Enum]
The enumeration type to validate against.
none_ok : bool, optional
Whether None is an acceptable value. Defaults to False.

Returns

Enum
The validated or converted enum value.

Raises

TypeError
If the value is invalid or cannot be converted to the enum type.

Classes

class Access (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class Access(Enum):
    """Enum for ParkingSpace Access."""

    all = auto()
    bus = auto()
    car = auto()
    electric = auto()
    handicapped = auto()
    residents = auto()
    truck = auto()
    woman = auto()

Enum for ParkingSpace Access.

Ancestors

  • enum.Enum

Class variables

var all
var bus
var car
var electric
var handicapped
var residents
var truck
var woman
class ContactPoint (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ContactPoint(Enum):
    """Enum for ContactPoint."""

    start = auto()
    end = auto()

Enum for ContactPoint.

Ancestors

  • enum.Enum

Class variables

var end
var start
class Direction (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class Direction(Enum):
    """Enum for Direction."""

    same = auto()
    opposite = auto()

Enum for Direction.

Ancestors

  • enum.Enum

Class variables

var opposite
var same
class Dynamic (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class Dynamic(Enum):
    """Enum for Dynamic."""

    yes = auto()
    no = auto()

Enum for Dynamic.

Ancestors

  • enum.Enum

Class variables

var no
var yes
class ElementType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ElementType(Enum):
    """Enum for LaneChange."""

    road = auto()
    junction = auto()

Enum for LaneChange.

Ancestors

  • enum.Enum

Class variables

var junction
var road
class FillType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class FillType(Enum):
    """Enum for FillType."""

    asphalt = auto()
    cobble = auto()
    concrete = auto()
    grass = auto()
    gravel = auto()
    pavement = auto()
    soil = auto()

Enum for FillType.

Ancestors

  • enum.Enum

Class variables

var asphalt
var cobble
var concrete
var grass
var gravel
var pavement
var soil
class JunctionGroupType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class JunctionGroupType(Enum):
    """Enum for JunctionGroup."""

    roundabout = auto()
    unknown = auto()

Enum for JunctionGroup.

Ancestors

  • enum.Enum

Class variables

var roundabout
var unknown
class JunctionType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class JunctionType(Enum):
    """Enum for JunctionType."""

    default = auto()
    virtual = auto()
    direct = auto()

Enum for JunctionType.

Ancestors

  • enum.Enum

Class variables

var default
var direct
var virtual
class LaneChange (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class LaneChange(Enum):
    """Enum for LaneChange."""

    increase = auto()
    decrease = auto()
    both = auto()
    none = auto()

Enum for LaneChange.

Ancestors

  • enum.Enum

Class variables

var both
var decrease
var increase
var none
class LaneType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class LaneType(Enum):
    """Enum for LaneType."""

    none = auto()
    driving = auto()
    stop = auto()
    shoulder = auto()
    biking = auto()
    sidewalk = auto()
    curb = auto()
    border = auto()
    restricted = auto()
    parking = auto()
    bidirectional = auto()
    median = auto()
    special1 = auto()
    special2 = auto()
    special3 = auto()
    roadWorks = auto()
    tram = auto()
    rail = auto()
    entry = auto()
    exit = auto()
    offRamp = auto()
    onRamp = auto()
    connectingRamp = auto()
    bus = auto()
    taxi = auto()
    HOV = auto()
    mwyEntry = auto()
    mwyExit = auto()

Enum for LaneType.

Ancestors

  • enum.Enum

Class variables

var HOV
var bidirectional
var biking
var border
var bus
var connectingRamp
var curb
var driving
var entry
var exit
var median
var mwyEntry
var mwyExit
var none
var offRamp
var onRamp
var parking
var rail
var restricted
var roadWorks
var shoulder
var sidewalk
var special1
var special2
var special3
var stop
var taxi
var tram
class MarkRule (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class MarkRule(Enum):
    """Enum for MarkRule."""

    no_passing = auto()
    caution = auto()
    none = auto()

Enum for MarkRule.

Ancestors

  • enum.Enum

Class variables

var caution
var no_passing
var none
class ObjectType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ObjectType(Enum):
    """Enum for ObjectType taken from OpenDRIVE 1.6 without deprecated
    types."""

    none = auto()
    obstacle = auto()
    pole = auto()
    tree = auto()
    vegetation = auto()
    barrier = auto()
    building = auto()
    parkingSpace = auto()
    patch = auto()
    railing = auto()
    trafficIsland = auto()
    crosswalk = auto()
    streetLamp = auto()
    gantry = auto()
    soundBarrier = auto()
    roadMark = auto()

Enum for ObjectType taken from OpenDRIVE 1.6 without deprecated types.

Ancestors

  • enum.Enum

Class variables

var barrier
var building
var crosswalk
var gantry
var none
var obstacle
var parkingSpace
var patch
var pole
var railing
var roadMark
var soundBarrier
var streetLamp
var trafficIsland
var tree
var vegetation
class Orientation (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class Orientation(Enum):
    """Enum for Orientation."""

    positive = auto()
    negative = auto()
    none = auto()

Enum for Orientation.

Ancestors

  • enum.Enum

Class variables

var negative
var none
var positive
class RawDataPostProcessing (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RawDataPostProcessing(Enum):
    """Enum for dataQuality RawData PostProcessing."""

    cleaned = auto()
    fused = auto()
    property = auto()
    raw = auto()

Enum for dataQuality RawData PostProcessing.

Ancestors

  • enum.Enum

Class variables

var cleaned
var fused
var property
var raw
class RawDataSource (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RawDataSource(Enum):
    """Enum for dataQuality RawData PostProcessing."""

    cadaster = auto()
    custom = auto()
    sensor = auto()

Enum for dataQuality RawData PostProcessing.

Ancestors

  • enum.Enum

Class variables

var cadaster
var custom
var sensor
class RoadMarkColor (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RoadMarkColor(Enum):
    """Enum for RoadMarkColor."""

    standard = auto()
    blue = auto()
    green = auto()
    red = auto()
    white = auto()
    yellow = auto()
    orange = auto()

Enum for RoadMarkColor.

Ancestors

  • enum.Enum

Class variables

var blue
var green
var orange
var red
var standard
var white
var yellow
class RoadMarkType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RoadMarkType(Enum):
    """Enum for RoadMarkType."""

    none = auto()
    solid = auto()
    broken = auto()
    solid_solid = auto()
    solid_broken = auto()
    broken_solid = auto()
    broken_broken = auto()
    botts_dots = auto()
    grass = auto()
    curb = auto()
    custom = auto()
    edge = auto()

Enum for RoadMarkType.

Ancestors

  • enum.Enum

Class variables

var botts_dots
var broken
var broken_broken
var broken_solid
var curb
var custom
var edge
var grass
var none
var solid
var solid_broken
var solid_solid
class RoadMarkWeight (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RoadMarkWeight(Enum):
    """Enum for RoadMarkWeight."""

    standard = auto()
    bold = auto()

Enum for RoadMarkWeight.

Ancestors

  • enum.Enum

Class variables

var bold
var standard
class RoadSide (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RoadSide(Enum):
    """Enum for RoadSide."""

    both = auto()
    left = auto()
    right = auto()

Enum for RoadSide.

Ancestors

  • enum.Enum

Class variables

var both
var left
var right
class RoadType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class RoadType(Enum):
    """Enum for RoadType."""

    unknown = auto()
    rural = auto()
    motorway = auto()
    town = auto()
    lowSpeed = auto()
    pedestrian = auto()
    bicycle = auto()
    townExpressway = auto()
    townCollector = auto()
    townArterial = auto()
    townPrivate = auto()
    townLocal = auto()
    townPlayStreet = auto()

Enum for RoadType.

Ancestors

  • enum.Enum

Class variables

var bicycle
var lowSpeed
var motorway
var pedestrian
var rural
var town
var townArterial
var townCollector
var townExpressway
var townLocal
var townPlayStreet
var townPrivate
var unknown
class SideType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class SideType(Enum):
    """Enum of the sideType"""

    front = auto()
    left = auto()
    rear = auto()
    right = auto()

Enum of the sideType

Ancestors

  • enum.Enum

Class variables

var front
var left
var rear
var right
class TrafficRule (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class TrafficRule(Enum):
    """Enum for TrafficRule."""

    RHT = auto()
    LHT = auto()
    none = auto()

Enum for TrafficRule.

Ancestors

  • enum.Enum

Class variables

var LHT
var RHT
var none
class TunnelType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class TunnelType(Enum):
    """Enum for TunnelType."""

    standard = auto()
    underpass = auto()

Enum for TunnelType.

Ancestors

  • enum.Enum

Class variables

var standard
var underpass