Transform
======================

.. currentmodule:: axioma.core.geometry

.. class:: Transform

	Абстрактный интерфейсный класс преобразования геометрий

		.. method:: map(point_in, point_out)

			Преобразование координат точки

			:param point_in: входное значение
			:type point_in: :class:`~PyQt5.QtCore.QPointF`
			:param point_out: выходное значение
			:type point_out: :class:`~PyQt5.QtCore.QPointF`
			:return: успешность выполнения
			:rtype: :class:`bool`

		.. method:: map(rect_in, rect_out)

			Преобразование координат прямоугольника

			:param rect_in: входное значение
			:type rect_in: :class:`~PyQt5.QtCore.QRectF`
			:param rect_out: выходное значение
			:type rect_out: :class:`~PyQt5.QtCore.QRectF`
			:return: успешность выполнения
			:rtype: :class:`bool`

		.. method:: map(points_in, points_out)

			Преобразование координат списка точек

			:param points_in: входное значение
			:type points_in: :class:`list` [:class:`~PyQt5.QtCore.QPointF`]
			:param points_out: выходное значение
			:type points_out: :class:`list` [:class:`~PyQt5.QtCore.QPointF`]
			:return: успешность выполнения
			:rtype: :class:`bool`

		.. method:: resultCoordSys()

			Целевая координатная система

			:rtype: :class:`~axioma.cs.CoordSystem`

		.. method:: sourceCoordSystem()

			Исходная координатная система

			:rtype: :class:`~axioma.cs.CoordSystem`

		.. method:: isSimpleTransform()

			Является ли данная трансформация простым масштабированием со сдвигом

			:return: True, если является
			:rtype: :class:`bool`


TransformQt
======================

.. class:: TransformQt

	Класс-реализация интерфейсного класса Transform. Предназначен для геометрических 2D-преобразований координатной системы на основе класса QTransform

	Унаследован от: :class:`~axioma.core.geometry.Transform`

		.. method:: TransformQt(transform, coord_system=None)

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

			:param transform: преобразование координатной системы
			:type transform: :class:`~PyQt5.QtGui.QTransform`
			:param coord_system: координатная система
			:type coord_system: :class:`~axioma.cs.CoordSystem`

		.. method:: isRevertOrdinate()

			Является ли данная трансформация с зеркалированием по ординате

			:return: True, если является
			:rtype: :class:`bool`


TransformCoordSys
======================

.. class:: TransformCoordSys

	Класс-реализация интерфейсного класса Transform. Предназначен для геометрических 2D-преобразований координатной системы на основе данных о координатных системах

	Унаследован от: :class:`~axioma.core.geometry.Transform`

		.. method:: TransformCoordSys(cs_from, cs_to)

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

			:param cs_from: изначальная координатная система
			:type cs_from: :class:`~axioma.cs.CoordSystem`
			:param cs_to: конечная координатная система
			:type cs_to: :class:`~axioma.cs.CoordSystem`

		.. method:: TransformCoordSys(coord_transform)

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

			:param coord_transform: преобразование координат из проекции в проекцию
			:type coord_transform: :class:`~axioma.cs.CoordTransform`


CombinedTransform
======================

.. class:: CombinedTransform

	Класс-реализация интерфейсного класса Transform. Предназначен последовательного преобразования посредством нескольких объектов трансформации Transform

	Унаследован от: :class:`~axioma.core.geometry.Transform`

		.. method:: CombinedTransform(transforms)

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

			:param transforms: Массив с последовательностью преобразования
			:type transforms: :class:`list` [ :class:`~axioma.core.geometry.Transform` ]
