Пример #1
0
 def on_key_press(self, symbol, modifiers):
     # выход из приложения
     if symbol == key.ESCAPE:
         self.close()
     # удаление точки
     elif symbol == key.DELETE:
         self.boundary.delete()
     # уменьшение точек
     elif symbol == key.DOWN:
         Point.set_radius(Point.radius - 1)
     # увеличение точек
     elif symbol == key.UP:
         Point.set_radius(Point.radius + 1)
     # очищение boundary
     elif symbol == key.C:
         self.boundary.clear()
         self.container3D.clear()
     elif symbol == key.A:
         self.container3D.rotate(-180, 0)
     elif symbol == key.W:
         self.container3D.rotate(0, 180)
     elif symbol == key.D:
         self.container3D.rotate(180, 0)
     elif symbol == key.S:
         self.container3D.rotate(0, -180)
     elif symbol == key.Q:
         self.container3D.clear()
     elif symbol == key.P:
         print(datetime.now())
Пример #2
0
    def __init__(self, *args, **kwargs):
        super(App, self).__init__(caption='Kirchhoff-Plateau Surfaces',
                                  resizable=True,
                                  width=950,
                                  height=480,
                                  *args,
                                  **kwargs)

        self.set_minimum_size(950, 480)
        # инициализируются в on_resize
        self.container2D, self.container3D = None, None
        # создаём Boundary
        self.boundary = Boundary()
        # для рисования
        Point.set_radius(5)
        glEnable(GL_POINT_SMOOTH)
        glEnable(GL_LINE_SMOOTH)
        glEnable(GL_DEPTH_TEST)
        # чёрный фон
        glClearColor(0., 0., 0., 1)