예제 #1
0
    def prepare_results(self, ident_results='simresults'):

        # TODO: here we should actually replace the current network
        # so we would need a clear net method in scenario
        # alternatively we could merge properly
        scenario = self.get_scenario()
        if self._results == None:
            self._results = results.Simresults(ident=ident_results,
                                               scenario=scenario)
        else:
            if self._results.parent != scenario:
                # uups scenario changed
                del self._results
                self._results = results.Simresults(ident=ident_results,
                                                   scenario=scenario)
예제 #2
0
파일: simulation.py 프로젝트: webia1/sumopy
    def _init_attributes(self):
        print 'Simulation._init_attributes id', id(
            self), self.parent.rootname  #,dir(self)
        attrsman = self.get_attrsman()

        #if self.get_version()<0.2:
        #    self.delete('results')


        self.results = attrsman.add(cm.ObjConf(\
                            results.Simresults('results', parent=self),
                            is_child = False,
                            is_save = False,# will not be saved 
                            groups = ['results']))

        # upgrade
        #self.results.set_save(False)
        #print '  self.results', self.results

        # platooning simulation tool
        self.simplaconfig = attrsman.add(cm.ObjConf(\
                                            SimplaConfig(self),
                                            is_child = True,
                                            groups = ['misc']
                                            ))
예제 #3
0
파일: wxgui.py 프로젝트: webia1/sumopy
    def on_plot_electrical_energy_results(self, event=None):
        """Plot energy results using the Matplotlib plotting envitonment."""
        if self._simulation.results is None:
            self._simulation.results = results.Simresults(
                ident='simresults', simulation=self._simulation)

        if is_mpl:
            resultplotter = results_mpl.ElectricalEnergyResultsPlotter(
                self._simulation.results, logger=self._mainframe.get_logger())
            dlg = EnergyResultDialog(self._mainframe, resultplotter)

            dlg.CenterOnScreen()

            # this does not return until the dialog is closed.
            val = dlg.ShowModal()
            #print '  val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL
            #print '  status =',dlg.get_status()
            if dlg.get_status() != 'success':  #val == wx.ID_CANCEL:
                #print ">>>>>>>>>Unsuccessful\n"
                dlg.Destroy()

            if dlg.get_status() == 'success':
                #print ">>>>>>>>>successful\n"
                # apply current widget values to scenario instance
                dlg.apply()
                dlg.Destroy()
예제 #4
0
    def on_plot_results(self, event=None):
        if self._results == None:
            self._results = results.Simresults(ident='simresults',
                                               scenario=self.get_scenario())

        if is_mpl:
            resultplotter = results_mpl.Resultplotter(
                self._results, logger=self._mainframe.get_logger())
            dlg = ResultDialog(self._mainframe, resultplotter)

            dlg.CenterOnScreen()

            # this does not return until the dialog is closed.
            val = dlg.ShowModal()
            # print '  val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL
            # print '  status =',dlg.get_status()
            if dlg.get_status() != 'success':  # val == wx.ID_CANCEL:
                # print ">>>>>>>>>Unsuccessful\n"
                dlg.Destroy()

            if dlg.get_status() == 'success':
                # print ">>>>>>>>>successful\n"
                # apply current widget values to scenario instance
                dlg.apply()
                dlg.Destroy()
        else:
            if event:
                event.Skip()
예제 #5
0
    def on_filter_edgeresults(self, event=None):
        """Filter edgeresults by zone, etc."""
        if self._simulation.results is None:
            self._simulation.results = results.Simresults(ident='simresults', simulation=self._simulation)

        edgeresultfilter = results.EdgeresultFilter(self._simulation.results.edgeresults,
                                                    logger=self._mainframe.get_logger())
        dlg = ProcessDialog(self._mainframe, edgeresultfilter)

        dlg.CenterOnScreen()

        # this does not return until the dialog is closed.
        val = dlg.ShowModal()
        # print '  val,val == wx.ID_OK',val,wx.ID_OK,wx.ID_CANCEL,val == wx.ID_CANCEL
        # print '  status =',dlg.get_status()
        if dlg.get_status() != 'success':  # val == wx.ID_CANCEL:
            # print ">>>>>>>>>Unsuccessful\n"
            dlg.Destroy()

        if dlg.get_status() == 'success':
            # print ">>>>>>>>>successful\n"
            # apply current widget values to scenario instance
            dlg.apply()
            dlg.Destroy()
            self._mainframe.browse_obj(self._simulation.results.edgeresults)
예제 #6
0
    def on_show_results(self, event=None):
        if self._simulation.results is None:
            self._simulation.results = results.Simresults(
                ident='simresults', simulation=self._simulation)

        self._mainframe.browse_obj(self._simulation.results)
        self._mainframe.select_view(
            name="Result viewer")  # !!!!!!!! tricky, crashes without
예제 #7
0
    def on_show_results(self, event=None):
        if self._results == None:
            self._results = results.Simresults(ident='simresults',
                                               scenario=self.get_scenario())

        self._mainframe.browse_obj(self._results)
        self._mainframe.select_view(1)  # !!!!!!!!tricky, crashes without

        if event:
            event.Skip()
예제 #8
0
    def _init_attributes(self):
        print 'Simulation._init_attributes'  # ,dir(self)
        attrsman = self.get_attrsman()

        # if self.get_version()<0.2:
        #    self.delete('results')

        self.results = attrsman.add(cm.ObjConf(
            results.Simresults('results', parent=self),
            is_child=False,
            is_save=False,  # will not be saved
            groups=['results']))
예제 #9
0
    def on_plot_traveltimes(self, event=None):
        """Plot travel times to/from specific edges using the Matplotlib plotting envitonment."""
        if self._simulation.results is None:
            self._simulation.results = results.Simresults(ident='simresults', simulation=self._simulation)

        if is_mpl:
            resultplotter = results_mpl.TraveltimePlotter(self._simulation.results,
                                                          logger=self._mainframe.get_logger())
            dlg = ResultDialog(self._mainframe, resultplotter)

            dlg.CenterOnScreen()

            # this does not return until the dialog is closed.
            val = dlg.ShowModal()
            if dlg.get_status() != 'success':  # val == wx.ID_CANCEL:
                dlg.Destroy()

            if dlg.get_status() == 'success':
                dlg.apply()
                dlg.Destroy()