public static void update() {
        updateMouseButtons();

        Point p = new Point(Mouse.getX(), Display.getHeight() - Mouse.getY());

        if (pressPoint!=null)
        if (draggedModel != null && startPlate.contains(pressPoint)) {
            Point d=Camera.getTranslatedPoint(draggedModel.getCenter().x, draggedModel.getCenter().y);
            draggedModel.setAngle(
                    (float) Math.atan2(p.y-d.y, p.x-d.x)
            );
        }

        else
        if (isDragged)      {
            draggedModel.moveGeometricModel(
                    new Point(
                            Camera.untranslateDistance(Mouse.getDX()),
                            Camera.untranslateDistance(-Mouse.getDY())
                    ));
        }
        q.update();

        if (draggedModel!=null) {
            Point center=Camera.getTranslatedPoint(draggedModel.getCenter().x,
                    draggedModel.getCenter().y);
            double dxs1=Math.cos(draggedModel.getAngle()-0.4f)*20f;
            double dxe1=dxs1*20f;
            double dys1=Math.sin(draggedModel.getAngle()-0.4f)*20f;
            double dye1=dys1*20f;
            double dxs2=Math.cos(draggedModel.getAngle()+0.4f)*20f;
            double dxe2=dxs2*20f;
            double dys2=Math.sin(draggedModel.getAngle()+0.4f)*20f;
            double dye2=dys2*20f;
            rollArea[0].set(center.x+(float)dxs1, center.y+(float)dys1);
            rollArea[1].set(center.x+(float)dxe1, center.y+(float)dye1);
            rollArea[2].set(center.x+(float)dxe2, center.y+(float)dye2);
            rollArea[3].set(center.x+(float)dxs2, center.y+(float)dys2);
        }
    }