Source code for simulation.utils.road.renderer.traffic_sign

from simulation.utils.road.sections import TrafficSign


[docs]def draw(name: str, sign: TrafficSign): return model( sign.center.x, sign.center.y, 0.0, sign.orientation, name, sign.kind.mesh, sign.kind.collision_box_position, sign.kind.collision_box_size, )
[docs]def model(x, y, z, orientation, name, mesh, collision_box_position, collision_box_size): return """ <model name='{name}'> <static>1</static> <link name='link'> <visual name='visual'> <cast_shadows>1</cast_shadows> <geometry> <mesh> <uri>file://meshes/{mesh}.dae</uri> <scale>1 1 1</scale> </mesh> </geometry> </visual> <collision name='collision'> <pose>{box_position_x} {box_position_y} {box_position_z} 0 0 0</pose> <geometry> <box> <size>{box_size_x} {box_size_y} {box_size_z}</size> </box> </geometry> </collision> <self_collide>0</self_collide> </link> <pose>{x} {y} {z} {angle} 0 {orientation}</pose> </model> """.format( x=x, y=y, z=z, orientation=orientation, name=name, mesh=mesh, angle=0, box_position_x=collision_box_position[0], box_position_y=collision_box_position[1], box_position_z=collision_box_position[2], box_size_x=collision_box_size[0], box_size_y=collision_box_size[1], box_size_z=collision_box_size[2], )