LabelPlacementPolicy - Настройки автоматической расстановки подписей
======================================================================

.. currentmodule:: axioma.render

.. class:: LabelPlacementPolicy

        Настройки автоматической расстановки подписей
            
            .. class:: LabelingAlgorithmType
            
                Алгоритм расстановки подписей в окне карты
            
                .. csv-table:: Алгоритм расстановки подписей :data:`LabelingAlgorithmType`:
                    :header: "Наименование величины", "Значение", "Описание"

                    ``AllowOverlap``, 0, "Разрешить перекрытия"
                    ``DisallowOverlap``, 1, "Запретить перекрытия"
                    ``TryOtherPosition``, 2, "Пробовать другое положение"

            .. class:: LabelingDisplayMode
            
                Режим отображения автоматических подписей
                
                .. csv-table:: Режим отображения автоматических подписей :data:`LabelingDisplayMode`:
                    :header: "Наименование величины", "Значение", "Описание", "Дополнительно"
                    
                    ``ShowLabeling``, 0, "Показать подписи", "visible == ``True``, visibleRange.enabled() == ``False``"
                    ``HideLabeling``, 1, "Скрыть подписи", "visible == ``False``"
                    ``ShowInLimitLabeling``, 2, "Показывать подписи в пределах", "visible == ``True``, visibleRange.enabled() == ``True``"

            .. attribute:: visible

                Видимость подписей

                :type: :class:`bool`
            
            .. attribute:: labelingType

                Алгоритм расстановки подписей

                :type: :class:`~axioma.render.LabelPlacementPolicy.LabelingAlgorithmType`
            
            .. attribute:: visibleRange

                Пределы отображения

                :type: :class:`~axioma.render.VisibilityConstraints`
                    
            .. method:: isVisible(map_viewport)
                
                Видимость в области карты; определяется как:
                
                .. code-block:: python
                
                    visible and visibleRange.isVisible(map_viewport)
                
                :param map_viewport: :class:`~axioma.render.MapViewport`
                :rtype: :class:`bool`
                        
            .. method:: labelingDisplayMode()
                
                Режим отображения подписей
                
                :rtype: :class:`~axioma.render.LabelPlacementPolicy.LabelingDisplayMode`
                    
            .. method:: setLabelingDisplayMode(display_mode)
                
                Задать режим отображения подписей
                
                :param display_mode: :class:`~axioma.render.LabelPlacementPolicy.LabelingDisplayMode`
