def test_repeated_object():
    object1 = pyodrx.Object(s=10.0,
                            t=-2,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            zOffset=0.00,
                            height=1.0,
                            Type=pyodrx.ObjectType.pole)
    object1.repeat(100, 50)
    road = pyodrx.create_straight_road(0)
    road.add_object(object1)
    prettyprint(road.get_element())
def test_object_roadside():
    road = pyodrx.create_straight_road(0)
    odr = pyodrx.OpenDrive('myroad')
    odr.add_road(road)
    odr.adjust_roads_and_lanes()
    object1 = pyodrx.Object(s=0,
                            t=0,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            zOffset=0.00,
                            height=1.0,
                            Type=pyodrx.ObjectType.pole)
    road.add_object_roadside(object1, 50, tOffset=0.85)
    prettyprint(road.get_element())
def test_object():
    object1 = pyodrx.Object(s=10.0,
                            t=-2,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            zOffset=0.00,
                            id="1",
                            height=1.0,
                            Type=pyodrx.ObjectType.pole)

    #same chosen ID should cause warning and be resolved automatically
    object2 = pyodrx.Object(s=20.0,
                            t=-2,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            zOffset=0.00,
                            height=10,
                            id="1",
                            Type=pyodrx.ObjectType.streetLamp)

    road = pyodrx.create_straight_road(0)
    road.add_object([object1, object2])
    prettyprint(road.get_element())
def test_signal():
    signal1 = pyodrx.Signal(s=10.0,
                            t=-2,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            zOffset=0.00,
                            country="US",
                            Type="R1",
                            subtype="1")

    signal2 = pyodrx.Signal(s=20.0,
                            t=-2,
                            dynamic=pyodrx.Dynamic.no,
                            orientation=pyodrx.Orientation.positive,
                            country="DEU",
                            Type="274",
                            subtype="120",
                            value=120,
                            unit="km/h")

    road = pyodrx.create_straight_road(0)
    road.add_signal(signal1)
    road.add_signal(signal2)
    prettyprint(road.get_element())
Exemplo n.º 5
0
import numpy as np
import os

from scenariogeneration import xodr

roads = []
numintersections = 4  # 3 or 4
angles = []
for i in range(numintersections):
    roads.append(xodr.create_straight_road(i))
    # use this instead to change the number of lanes in the crossing
    #roads.append(xodr.generators.create_straight_road(i, length=100, junction=-1, n_lanes=2, lane_offset=3))
    angles.append(i * 2 * np.pi / numintersections)

# use this for a T-crossing instead
# angles = [0,np.pi/2, 3*np.pi/2]

print(roads)
junc = xodr.create_junction_roads(roads, angles, 8)

odr = xodr.OpenDrive('myroad')
junction = xodr.create_junction(junc, 1, roads)

odr.add_junction(junction)
for r in roads:
    odr.add_road(r)
for j in junc:
    odr.add_road(j)

odr.adjust_roads_and_lanes()
Exemplo n.º 6
0
def test_road_with_road_types():
    road = pyodrx.create_straight_road(0)
    road.add_type(pyodrx.RoadType.motorway, 0)
    prettyprint(road.get_element())