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.

Свойства:

center

Устанавливает или возвращает центр прямоугольника.

height

Возвращает высоту прямоугольника.

is_empty

Возвращает признак, что один или оба размера равны нулю.

is_valid

Возвращает признак, является ли прямоугольник правильным.

width

Возвращает ширину прямоугольника.

xmax

Устанавливает или возвращает максимальное значение X.

xmin

Устанавливает или возвращает минимальное значение X.

ymax

Устанавливает или возвращает максимальное значение Y.

ymin

Устанавливает или возвращает минимальное значение Y.

Методы:

clone()

Возвращает копию.

contains(other)

Содержит ли полностью в своих границах переданный объект.

expanded(dx, dy)

Возвращает прямоугольник, увеличенный на заданные величины.

intersected(other)

Возвращает общий для обоих прямоугольник.

merge(other)

Возвращает прямоугольник, занимаемый обоими прямоугольниками.

normalize()

Исправляет прямоугольник, если его ширина или высота отрицательны.

to_qt()

Преобразование в формат Qt.

translated(dx, dy)

Возвращает прямоугольник, смещенный на заданную величину.

Специальные методы:

__copy__()

Поверхностная копия объекта.

__deepcopy__([memo_dict])

Глубокая копия объекта.

__eq__(other)

Оператор равенства (==).

__format__(format_spec)

Форматированное строковое представление.

__repr__()

Официальное строковое представление объекта при вызове repr().

__str__()

Неформальное строковое представление объекта при вызове str или print().

__copy__() Rect

Поверхностная копия объекта. (функция copy.copy())

__deepcopy__(memo_dict=None) Rect

Глубокая копия объекта. (функция copy.deepcopy())

__eq__(other: Rect) bool

Оператор равенства (==).

__format__(format_spec) str

Форматированное строковое представление.

__init__(xmin: float, ymin: float, xmax: float, ymax: float)

Конструктор класса.

Параметры:
  • xmin – Минимальное значение X.

  • ymin – Минимальное значение Y.

  • xmax – Максимальное значение X.

  • ymax – Максимальное значение Y.

__repr__() str

Официальное строковое представление объекта при вызове repr().

__str__() str

Неформальное строковое представление объекта при вызове str или print().

property center: Pnt

Устанавливает или возвращает центр прямоугольника.

clone() Rect

Возвращает копию.

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[QRect, QRectF]) Rect

Преобразует из формата Qt.

Параметры:

r – Преобразуемый прямоугольник.

property height: float

Возвращает высоту прямоугольника.

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)
'''
property is_empty: bool

Возвращает признак, что один или оба размера равны нулю.

property is_valid: bool

Возвращает признак, является ли прямоугольник правильным.

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
'''
to_qt() QRectF

Преобразование в формат Qt.

translated(dx: float, dy: float) Rect

Возвращает прямоугольник, смещенный на заданную величину.

Параметры:
  • dx – смещение по X.

  • dy – смещение по Y.

Пример.
r = Rect(0, 0, 10, 10)
print(r.translated(10, -10))
'''
>>> (10.0 -10.0) (20.0 0.0)
'''
property width: float

Возвращает ширину прямоугольника.

property xmax: float

Устанавливает или возвращает максимальное значение X.

property xmin: float

Устанавливает или возвращает минимальное значение X.

property ymax: float

Устанавливает или возвращает максимальное значение Y.

property ymin: float

Устанавливает или возвращает минимальное значение Y.