Rect - Прямоугольник
- class axipy.Rect
Прямоугольник, который не обладает геопривязкой. Используется для различного вида запросов.
from axipy import Rect rect = Rect(0, 0, 10, 5) print(rect) ''' >>> (0.0 0.0) (10.0 5.0) '''
Конструктор класса:
__init__
(xmin, ymin, xmax, ymax)Конструктор класса.
Классовые методы:
eq_approx
(rect1, rect2[, precision])Сравнивает два прямоугольника с заданной точностью.
from_qt
(r)Преобразует из формата Qt.
Свойства:
Устанавливает или возвращает центр прямоугольника.
Высота прямоугольника.
Если один или оба размера равны нулю.
Является ли прямоугольник правильным.
Ширина прямоугольника.
Устанавливает или возвращает максимальное значение X.
Устанавливает или возвращает минимальное значение X.
Устанавливает или возвращает максимальное значение Y.
Устанавливает или возвращает минимальное значение Y.
Методы:
contains
(other)Содержит ли полностью в своих границах переданный объект.
expanded
(dx, dy)Возвращает прямоугольник, увеличенный на заданные величины.
intersected
(other)Возвращает общий для обоих прямоугольник.
merge
(other)Возвращает прямоугольник, занимаемый обоими прямоугольниками.
Исправляет прямоугольник, если его ширина или высота отрицательны.
to_qt
()Преобразование в формат Qt.
translated
(dx, dy)Возвращает прямоугольник, смещенный на заданную величину.
- __init__(xmin: float, ymin: float, xmax: float, ymax: float)
Конструктор класса.
- Параметры:
xmin – Минимальное значение X.
ymin – Минимальное значение Y.
xmax – Максимальное значение X.
ymax – Максимальное значение Y.
- contains(other: Union[Pnt, QPointF, Rect, QRectF]) bool
Содержит ли полностью в своих границах переданный объект.
- Параметры:
other – Переданный объект - точка или прямоугольник.
r = Rect(0, 0, 10, 10) print("contains (0, 0)", r.contains((0, 0))) print("contains (15, 10)", r.contains((15, 10))) print("contains (0, 0) (5, 5)", r.contains(Rect(0, 0, 5, 5))) print("contains (0, 0) (15, 15)", r.contains(Rect(0, 0, 15, 15))) ''' >>> contains (0, 0) True >>> contains (15, 10) False >>> contains (0, 0) (5, 5) True >>> contains (0, 0) (15, 15) False '''
- classmethod eq_approx(rect1: Rect, rect2: Rect, precision: float = 1e-12) bool
Сравнивает два прямоугольника с заданной точностью.
- Параметры:
rect1 – Первый прямоугольник сравнения
rect2 – Второй прямоугольник сравнения
precision – Точность сравнения
- Результат:
True если прямоугольники равны
- expanded(dx: float, dy: float) Rect
Возвращает прямоугольник, увеличенный на заданные величины. Увеличение размеров производится по отношению к центру, который не меняется в результате операции.
- Параметры:
dx – расширение по X
dy – расширение по Y
r = Rect(0, 0, 10, 10) print(r.expanded(10, 10)) ''' >>> (-5.0 -5.0) (15.0 15.0) '''
- classmethod from_qt(r: Union[QRectF, QRect]) Optional[Rect]
Преобразует из формата Qt. Если класс не соответствует, возвращает None.
- Параметры:
r – Преобразуемый прямоугольник.
- intersected(other: Rect) Rect
Возвращает общий для обоих прямоугольник.
- Параметры:
other – Прямоугольник, с которым производится операция.
r1 = Rect(0, 0, 5, 10) r2 = Rect(0, 0, 10, 5) print(r1.intersected(r2)) ''' >>> (0.0 0.0) (5.0 5.0) '''
- merge(other: Rect) Rect
Возвращает прямоугольник, занимаемый обоими прямоугольниками.
- Параметры:
other – Прямоугольник, с которым производится операция.
r1 = Rect(0, 0, 5, 10) r2 = Rect(0, 0, 10, 5) print(r1.merge(r2)) ''' >>> (0.0 0.0) (10.0 10.0) '''
- normalize()
Исправляет прямоугольник, если его ширина или высота отрицательны.
from PySide2.QtCore import QRect r = Rect.from_qt(QRect(0, 5, -10, 10)) print(r) print(r.is_valid) r.normalize() print(r) print(r.is_valid) ''' >>> (0.0 5.0) (-10.0 15.0) >>> False >>> (-10.0 5.0) (0.0 15.0) >>> True '''