Пример #1
0
 def show(diagram, title = ''):
     preview = Preview(title = title, lines=1, columns=1)
     preview.add_view(diagram, VoronoiDiagram, title)
     preview.interactive(True)
     preview.start()
     while preview.step():
         pass
Пример #2
0
 def show(view, title = '', lines = 1, columns = 1):
     preview = Preview(title = title, lines = lines, columns = columns,
                       painter_class = self.painter_class)
     preview.add_view(view, title)
     preview.interactive(True)
     preview.start()
     while preview.step():
         pass
Пример #3
0
 def painter_test2(n, lines, columns, fps = 25000):
     # test main-thread execution (previewer run as main thread): 
     preview = Preview(title = "Main-thread test without diagram", 
                       lines = lines, columns = columns, fps_limit = fps,
                       painter_class = TestPainter)
     timer = Timer(0.1)
     preview.interactive(True)
     preview.start()
     step = 0
     # create tests in different threads
     while True:
         step += 1
         preview.set_title("Test #" + str(step) + " ADD-del inverse order")
         painters = []
         for i in xrange(0,n):
             painters.append(preview.add_view(i))
             while timer.idle(): 
                 if not preview.step():
                     return
         preview.set_title("Test #" + str(step) + " add-DEL inverse order")
         while len(painters) > 0:
             preview.del_view(painters.pop())
             while timer.idle(): 
                 if not preview.step():
                     return
         preview.set_title("Test #" + str(step) + " ADD-del direct order")
         painters = []
         for i in xrange(0,n):
             painters.append(preview.add_view(i))
             while timer.idle(): 
                 if not preview.step():
                     return
         preview.set_title("Test #" + str(step) + " add-DEL direct order")
         for i in xrange(0,n):
             preview.del_view(painters[i])
             while timer.idle(): 
                 if not preview.step():
                     return
         preview.set_title("Test #" + str(step) + " ADD-del random order")
         painters = []
         for i in xrange(0,n):
             painters.append(preview.add_view(i))
             while timer.idle(): 
                 if not preview.step():
                     return
         preview.set_title("Test #" + str(step) + " add-DEL random order")
         while len(painters) > 0:
             i = random.randint(0, len(painters) - 1)
             preview.del_view(painters[i])
             del painters[i]
             while timer.idle(): 
                 if not preview.step():
                     return
Пример #4
0
    def painter_test(n, lines, columns, fps = 25000):
        # test main-thread execution (previewer run as main thread): 
        preview = Preview(title = "Main-thread test without diagram", 
                          lines = lines, columns = columns, fps_limit = fps,
                          painter_class = TestPainter)
        
        preview.interactive(True)
        preview.start()
        # create tests in different threads
        for i in xrange(0,n):
            preview.add_view(i)
            if not preview.step():
                break

        while preview.step():
            pass
Пример #5
0
    def main_thread_fps(points, delay, n, lines, columns, fps = 250, 
                        max_threads = 10, test_class = DiagramTest):
        # test main-thread execution (previewer run as main thread): 
        preview = Preview(title = test_class.__name__ + 
                          " - Main-thread test mixed with diagram (FPS limit)",
                          lines = lines, columns = columns, fps_limit = fps)

        preview.interactive(True)
        preview.start()
        # create tests 
        threads = []
        for i in xrange(0,n):
            if len(threads) < max_threads and random.randint(1, 5) == 1:
                test = test_class(points, delay)
                threads.append(test) 
                preview.add_view(test.diagram, VoronoiDiagram)
                test.start()
            elif random.randint(1, 2) == 1:
                preview.add_view(i, TestFpsPainter)
            else:
                preview.add_view(i, TestPainter)
            if not preview.step():
                break

        while preview.step():
            pass

        # stop tests threads
        for t in threads:
            t.stop()
Пример #6
0
    def random_points_test(min, max, delay, n, lines, columns, max_count,
                           fps, test_class = DiagramTest):
        # test main-thread execution (previewer run as main thread): 
        preview = Preview(title = test_class.__name__ + 
                          " - Main-thread test with random points", 
                          lines = lines, columns = columns, fps_limit = fps,
                          painter_class = VoronoiDiagram)

        x, y = preview.panel_dimensions()
        preview.interactive(True)
        preview.start()
        # create tests 
        threads = []
        remove = None
        while True:
            
            if len(threads) < n:
                test = test_class(TestCases.random_points(min, max, x, y), 
                                   delay)
                threads.append(test)
                test.start()
                preview.add_view(test.diagram)

            for i in xrange(0, len(threads)):
                if threads[i].counter >= max_count:
                    preview.del_view(threads[i].diagram)
                    threads[i].stop()
                    del threads[i]
                    break
                    
            if not preview.step():
                break

        # stop tests threads
        for t in threads:
            t.stop()
Пример #7
0
    def main_thread(points, delay, n, lines, columns, fps = 250,
                    test_class = DiagramTest):
        # test main-thread execution (previewer run as main thread): 
        preview = Preview(title = test_class.__name__ + " - Main-thread test", 
                          lines = lines, columns = columns, fps_limit = fps,
                          painter_class = VoronoiDiagram)
        preview.interactive(True)
        preview.start()
        threads = []
        # create tests in different threads
        for i in xrange(0,n):
            test = test_class(points, delay)
            threads.append(test)
            preview.add_view(test.diagram)
            test.start()
            if not preview.step():
                break

        while preview.step():
            pass

        # stop tests threads
        for t in threads:
            t.stop()