GeometryReportItem
=====================

.. currentmodule:: axioma.render

.. class:: GeometryReportItem

	Элемент отчета типа геометрия

	Унаследован от: :class:`ReportItem`

		.. py:method:: GeometryReportItem(report)

			Конструктор. Геометрия и стиль устанавливаются как нулевые.

			:param report: Отчет, к которому относится создаваемый элемент. 
			:type report: :class:`~axioma.render.Report`

		.. py:method:: GeometryReportItem(report, geometry, style)

			Конструктор

			:param report: Отчет, к которому относится создаваемый элемент. 
			:type report: :class:`~axioma.render.Report`
			:param geometry: Геометрическое представление элемента отчета. 
			:type geometry: :class:`~axioma.render.Geometry`
			:param style: Стиль оформления геометрии. 
			:type style: :class:`Style`

		.. py:method:: geometry()

			Геометрическое представление объекта

			:return: Геометрия или :any:`None`, если не она определена
			:rtype: :class:`~axioma.render.Geometry`

		.. py:method:: setGeometry(geometry)

			Установка нового значения геометрического представления

			:param geometry: Устанавливаемая геометрия
			:type geometry: :class:`~axioma.render.Geometry`

		.. py:method:: style()

			Стиль геометрического представления объекта

			:return: Стиль или :any:`None`, если не он определен
			:rtype: :class:`Style`

		.. py:method:: setStyle(style)

			Установка нового значения стиля для геометрического представления объекта

			:param style: Устанавливаемый стиль геометрии
			:type style: :class:`Style`

Пример использования:

  .. code-block:: python
  
     # Импорт
    from axioma.render import *
    from axioma.cs import *
    from axioma.core.geometry import *
    from axioma.mapinfo import *

    cs_ne = CoordSysFactory.defaultCoordSysFactory().createFromPrj("CoordSys Nonearth Units \"m\"" )

    # Создание элемента отчета типа геометрический объект
    # Текст рассматиривается как геометрия. Пример создания см. style.py
    def createGeometryItem(report):
        print('Геометрия...')
        poly = QPolygonF();
        poly << QPointF(20,20) << QPointF(80,50) << QPointF(120,20) << QPointF(320,320) << QPointF(120,180) << QPointF(20,20)
        geom = Polygon(cs_ne, poly) # Задание геометрии
        style = MapBasicStyle().styleFromString("Pen (1, 5, 16711935) Brush (8, 255, 16777215)")  # Задание стиля оформления
        geomItem = GeometryReportItem(report) # Элемент отчета
        geomItem.setGeometry(geom) # Геометрия элемента в координатах отчета
        geomItem.setStyle(style) # Стиль оформления геометрии
        report.addItem(geomItem) # Добавляем в отчет
  
