Polygon
==============

.. currentmodule:: axioma.core.geometry

.. class:: Polygon

	Класс-реализация полигона. Используется для формирования замкнутого площадного объекта с контуром-полилинией.

	Унаследован от:

	* :class:`~axioma.core.geometry.Surface`
	* :class:`~axioma.core.geometry.GeosSupport`

		.. method:: Polygon(coord_system, polygon=QPolygonF())

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

			:param coord_system: координатная система
			:type coord_system: :class:`~axioma.cs.CoordSystem`
			:param polygon: Полигон
			:type polygon: :class:`~PyQt5.QtGui.QPolygonF`

		.. method:: Polygon(ring)

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

			:param ring: контур объекта
			:type polygon: :class:`~axioma.core.geometry.LinearRing`

		.. method:: Polygon(polygon)

			Конструктор копирования

			:param polygon: копируемый полигон
			:type polygon: :class:`~axioma.core.geometry.Polygon`

                .. method:: addInterior(interior_ring)

                        Добавление внутренней замкнутой полилинии

                        :param interior_ring: внутренняя замкнутая полилиния(дыра, остров)
                        :type interior_ring: :class:`~axioma.core.geometry.LinearRing`

                .. method:: interiorsCount()

                        Определение количества внутренних замкнутых полилиний

                        :return: Количество геометрий
                        :rtype: :class:`int`

                .. method:: setExteriorRing(exterior_ring)

                        Изменения внешнего контура объекта

                        :param exterior_ring: новый контур объекта
                        :type exterior_ring: :class:`~axioma.core.geometry.LinearRing`

                .. method:: exteriorRing()

                        Внешний контура объекта

                        :return: контур объекта
                        :rtype: :class:`~axioma.core.geometry.LinearRing`


                .. method:: removeInteriorRing(index)

                        Удаление внутренней замкнутой полилинии по индексу

                        :param index: индекс внутренней замкнутой полилинии
                        :type index: :class:`int`

                .. method:: interiorAt(index)

                        Получение внутренней замкнутой полилинии по индексу

                        :param index: индекс внутренней замкнутой полилинии
                        :type index: :class:`int`
                        :rtype: :class:`~axioma.core.geometry.LinearRing`
