def test_controller(): prop = OSC.Properties() prop.add_property('mything','2') prop.add_property('theotherthing','true') cnt = OSC.Controller('mycontroler',prop) OSC.prettyprint(cnt.get_element())
def test_trafficswarmaction(): prop = OSC.Properties() prop.add_file('mycontrollerfile.xml') controller = OSC.Controller('mycontroller', prop) traffic = OSC.TrafficDefinition('my traffic') traffic.add_controller(controller, 0.5) traffic.add_controller( OSC.CatalogReference('ControllerCatalog', 'my controller'), 0.5) traffic.add_vehicle(OSC.VehicleCategory.car, 0.9) traffic.add_vehicle(OSC.VehicleCategory.bicycle, 0.1) source_action = OSC.TrafficSourceAction(10, 10, OSC.WorldPosition(), traffic, 100) OSC.prettyprint(source_action.get_element()) swarm_action = OSC.TrafficSwarmAction(10, 20, 10, 2, 10, 'Ego', traffic) OSC.prettyprint(swarm_action.get_element()) swarm_action = OSC.TrafficSwarmAction(10, 20, 10, 2, 10, 'Ego', traffic, 10) OSC.prettyprint(swarm_action.get_element())
def test_assign_controller_action(): prop = OSC.Properties() prop.add_property('mything', '2') prop.add_property('theotherthing', 'true') cnt = OSC.Controller('mycontroller', prop) aca = OSC.AssignControllerAction(cnt) OSC.prettyprint(aca.get_element())
def test_trafficdefinition(): prop = OSC.Properties() prop.add_file('mycontrollerfile.xml') controller = OSC.Controller('mycontroller',prop) traffic = OSC.TrafficDefinition('my traffic') traffic.add_controller(controller,0.5) traffic.add_controller(OSC.CatalogReference('ControllerCatalog','my controller'),0.5) traffic.add_vehicle(OSC.VehicleCategory.car,0.9) traffic.add_vehicle(OSC.VehicleCategory.bicycle,0.1) OSC.prettyprint(traffic.get_element())
def test_controller_in_Entities(): bb = OSC.BoundingBox(2,5,1.5,1.5,0,0.2) fa = OSC.Axle(2,2,2,1,1) ba = OSC.Axle(1,1,2,1,1) veh = OSC.Vehicle('mycar',OSC.VehicleCategory.car,bb,fa,ba,150,10,10) prop = OSC.Properties() prop.add_property('mything','2') prop.add_property('theotherthing','true') cnt = OSC.Controller('mycontroler',prop) entities = OSC.Entities() entities.add_scenario_object('Ego',veh) entities.add_scenario_object('Target_1',veh,cnt) entities.add_entity_bytype('Target_2',OSC.ObjectType.vehicle) entities.add_entity_byref('Target_3','something') OSC.prettyprint(entities.get_element()) OSC.prettyprint(veh.get_element())
fa = pyoscx.Axel(30, 0.8, 1.68, 2.98, 0.4) ba = pyoscx.Axel(30, 0.8, 1.68, 0, 0.4) red_veh = pyoscx.Vehicle('car_red', pyoscx.VehicleCategory.car, bb, fa, ba, 69, 10, 10) red_veh.add_property_file('../models/car_red.osgb') red_veh.add_property('model_id', '2') ## create entities egoname = 'Ego' targetname = 'Target' prop = pyoscx.Properties() prop.add_property(name="esminiController", value="SumoController") prop.add_file("../sumo_inputs/e6mini.sumocfg") cont = pyoscx.Controller('mycontroler', prop) cont.dump_to_catalog('Controller.xosx', 'Controller', 'controllers', 'Mandolin') # pyoscx.prettyprint(cont.get_element()) pyoscx.prettyprint(cont.get_element()) entities = pyoscx.Entities() entities.add_scenario_object(egoname, white_veh) entities.add_scenario_object(targetname, red_veh, cont) ### create init init = pyoscx.Init() step_time = pyoscx.TransitionDynamics(pyoscx.DynamicsShapes.step, pyoscx.DynamicsDimension.time, 1) egospeed = pyoscx.AbsoluteSpeedAction(10, step_time)