self.demand.import_xml(self.get_rootfilename(), self.get_workdirpath()) except: print 'WARNING: import of demand data failed. Please check for inconsistency with trip/route and network edge IDs.' def update_netoffset(self, deltaoffset): """ Called when network offset has changed. Children may need to adjust theur coordinates. """ self.landuse.update_netoffset(deltaoffset) self.demand.update_netoffset(deltaoffset) if __name__ == '__main__': ############################################################################### # print 'sys.path',sys.path from agilepy.lib_wx.objpanel import objbrowser from agilepy.lib_base.logger import Logger if len(sys.argv) == 3: rootname = sys.argv[1] dirpath = sys.argv[2] else: rootname = 'facsp2' dirpath = os.path.join(os.path.dirname(__file__), '..', 'network', 'testnet') scenario = Scenario(rootname, workdirpath=dirpath, logger=Logger()) # net.import_nodes(os.path.join('test','facsp2.nod.xml')) # net.import_edges(os.path.join('test','facsp2.edg.xml')) objbrowser(scenario)
def __init__(self, parent=None, title='mainframe', moduledirs=[], args=[], is_maximize=False, is_centerscreen=True, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name='theframe', size_toolbaricons=(24, 24)): self._args = args # Forcing a specific style on the window. # Should this include styles passed? wx.Frame.__init__(self, parent, wx.ID_ANY, title, pos, size=size, style=style, name=name) #super(GLFrame, self).__init__(parent, id, title, pos, size, style, name) self._splitter = MainSplitter(self) self._views = {} #wx.EVT_SIZE (self, self.on_size) #sizer=wx.BoxSizer(wx.VERTICAL) #sizer.Add(p1,0, wx.ALL | wx.ALIGN_LEFT | wx.GROW, 4)# from NaviPanelTest #sizer.Add(self.canvas,1,wx.GROW)# from NaviPanelTest # finish panel setup #self.SetSizer(sizer) #sizer.Fit(self) #self.Show() # this is needed to initialize GL projections for unproject #wx.CallAfter(self.on_size) #width,height = self.GetSize() #self._splitter.SetSashPosition(300, True) #maximize the frame if is_maximize: self.Maximize() if is_centerscreen: self.CenterOnScreen() ################################################################# # create statusbar #self.statusbar = AgileStatusbar(self) self.statusbar = AgileStatusbar(self) self.SetStatusBar(self.statusbar) #self.count=0.0 ################################################################# # create toolbar self.init_toolbar(size=size_toolbaricons) # #new_bmp = wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, tsize) #open_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, tsize) #save_bmp= wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, tsize) #cut_bmp = wx.ArtProvider.GetBitmap(wx.ART_CUT, wx.ART_TOOLBAR, tsize) #copy_bmp = wx.ArtProvider.GetBitmap(wx.ART_COPY, wx.ART_TOOLBAR, tsize) #paste_bmp= wx.ArtProvider.GetBitmap(wx.ART_PASTE, wx.ART_TOOLBAR, tsize) #self.add_tool('new',self.on_open,new_bmp,'create new doc') #self.add_tool('open',self.on_open,open_bmp,'Open doc') #self.add_tool('save',self.on_save,save_bmp,'Save doc') #self.toolbar.AddSeparator() #self.add_tool('cut',self.on_open,cut_bmp,'Cut') #self.add_tool('copy',self.on_open,copy_bmp,'Copy') #self.add_tool('paste',self.on_open,paste_bmp,'Paste') #self.SetToolBar(self.toolbar) ################################################################# #create the menu bar self.menubar = AgileMenubar(self) #self.make_menu() #self.menubar.append_menu('tools') self.SetMenuBar(self.menubar) #self.Show(True) #NO!! ################################################################# # init logger self._logger = Logger() self._logger.add_callback(self.write_message, 'message') self._logger.add_callback(self.write_action, 'action') ################################################################# self._moduleguis = make_moduleguis(moduledirs) for modulename, modulegui in self._moduleguis.iteritems(): #print ' init gui of module',modulename modulegui.init_widgets(self)
# print ' ids_trip',ids_trip ids_routes, ids_trips = self._trips.make_routes(self.ids_vtype, is_generate_ids=is_generate_ids, routes=self.routes, ids_trip=ids_trip, **self._get_kwargs()) return ids_routes, ids_trips if __name__ == '__main__': ########################################################################## # print 'sys.path',sys.path from agilepy.lib_wx.objpanel import objbrowser from agilepy.lib_base.logger import Logger #from coremodules.scenario import scenario from coremodules.network import network logger = Logger() NETPATH = os.path.join(SUMOPYDIR, 'coremodules', 'network', 'testnet') net = network.Network(logger=logger) rootname = 'facsp2' net.import_xml(rootname, NETPATH) # net.read_sumonodes(os.path.join(NETPATH,'facsp2.nod.xml')) # net.read_sumoedges(os.path.join(NETPATH,'facsp2.edg.xml')) demand = Demand(net=net, logger=logger) # demand.set_net(net) # landuse.facilities.import_poly(os.path.join(NETPATH,'facsp2.poly.xml')) #landuse.import_xml(rootname, NETPATH) objbrowser(demand)
resultfilepath = None if len(sys.argv) >= 2: simfilepath = sys.argv[1] if len(sys.argv) == 3: resultfilepath = sys.argv[2] else: print __doc__ sys.exit(0) myscenario = scenario.load_scenario(simfilepath) rootfilepath = myscenario.get_rootfilepath() if resultfilepath is None: resultfilepath = rootfilepath + '.res.obj' mylogger = Logger( #filepath = os.path.join(dirpath,logfilepath), is_stdout=True, #False ) microsim = sumo.Sumo( myscenario, guimode='nogui', # 'sumopy','sumopy+map','native','openscene','nogui', simtime_start=0, simtime_end=600, time_to_teleport=-1, time_step=0.2, #s is_ballistic_integrator=True, # # routing options # is_dynaroute=True, # = one shot assignment is_rerouting=False, # enable rerouting devices
# wx.Frame.SetIcon(self.mainframe,sumopyicon) # self.mainframe.SetIcon(sumopyicon) # if True: #len(sys.argv)>=2: # from lib.net import readNet # filepath = '/home/joerg/projects/sumopy/bologna/bologna4.net.xml'#sys.argv[1] # _net = readNet(filepath) # else: # _net = None self.SetTopWindow(self.mainframe) return True def netediting(net): # put in True if you want output to go to it's own window. app = NeteditorApp(net, output=False) # print 'call MainLoop' app.MainLoop() if __name__ == '__main__': ########################################################################### # MAINLOOP import network from agilepy.lib_base.logger import Logger net = network.Network(logger=Logger()) net.import_xml('facsp2', 'testnet') app = NeteditorApp(net, output=False) app.MainLoop()