---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/geometry.pixel.Polygon.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/geometry.pixel.Polygon.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/ru/llms.txt

# geometry.pixel.Polygon

Расширяет [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md).

Пиксельная геометрия "Многоугольник".

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
geometry.pixel.Polygon(coordinates, fillRule[, metaData])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`coordinates`](#param-coordinates)[*](*star) | — | Тип: Number[][][]

Координаты многоугольника. ||
|| [`fillRule`](#param-fillRule)[*](*star) | — | Тип: String

Строковый идентификатор, определяющий алгоритм заливки многоугольника. Может принимать одно из двух значений:
- evenOdd - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и подсчета количества сегментов контура в пределах заданной фигуры, которые пересекает этот луч. Если это число нечетное, точка находится внутри; если четное, точка находится снаружи.
- nonZero - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и проверки точек, в которых сегмент фигуры пересекает этот луч. Начиная с нуля, добавляется единица каждый раз, когда сегмент пересекает луч слева направо, и вычитается единица каждый раз, когда сегмент пересекает луч справа налево. Если после подсчета пересечений результат равен нулю, точка находится снаружи контура. В противном случае она находится внутри. ||
|| [`metaData`](#param-metaData) | — | Тип: Object

Метаданные. ||
|| [`metaData.convex`](#param-metaData.convex) | false | Тип: Boolean

Признак выпуклости многоугольника. true — выпуклый, false — невыпуклый. Для выпуклых многоугольников быстрее рассчитывается попадание точки в многоугольник. ||
|#

\* Обязательный параметр/опция.

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|#


## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [contains](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#contains)([position](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#contains-param-position)) | Boolean | Проверяет, лежит ли переданная точка внутри многоугольника.

Унаследован от [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#contains). ||
|| [equals](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#equals)([geometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#equals-param-geometry)) | Boolean | Возвращает true, если переданная геометрия эквивалентна данной.

Унаследован от [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#equals). ||
|| [getBounds](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBaseGeometry.md#getBounds)() | Number[][]\|null | Возвращает координаты двух противоположных углов области, охватывающей геометрию. Первый элемент массива - угол с наименьшими значениями координат относительно остальных точек области; второй элемент - угол с наибольшими значениями координат.

Унаследован от [IBaseGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBaseGeometry.md#getBounds). ||
|| [getClosest](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getClosest)([anchorPosition](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getClosest-param-anchorPosition)) | Object | Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

Унаследован от [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getClosest). ||
|| [getCoordinates](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getCoordinates)() | Number[][][] | Возвращает координаты многоугольника.

Унаследован от [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getCoordinates). ||
|| [getFillRule](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getFillRule)() | String | Возвращает строковый идентификатор, определяющий алгоритм заливки многоугольника. Идентификатор может принимать одно из двух значений:
- evenOdd - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и подсчета количества сегментов контура в пределах заданной фигуры, которые пересекает этот луч. Если это число нечетное, точка находится внутри; если четное, точка находится снаружи.
- nonZero - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и проверки точек, в которых сегмент фигуры пересекает этот луч. Начиная с нуля, добавляется единица каждый раз, когда сегмент пересекает луч слева направо, и вычитается единица каждый раз, когда сегмент пересекает луч справа налево. Если после подсчета пересечений результат равен нулю, точка находится снаружи контура. В противном случае она находится внутри.

Унаследован от [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getFillRule). ||
|| [getLength](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getLength)() | Integer | Возвращает количество контуров в многоугольнике.

Унаследован от [IPixelPolygonGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelPolygonGeometry.md#getLength). ||
|| [getMetaData](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#getMetaData)() | Object | Возвращает метаданные пиксельной геометрии.

Унаследован от [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#getMetaData). ||
|| [getType](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBaseGeometry.md#getType)() | String | Возвращает идентификатор типа геометрии.

Унаследован от [IBaseGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IBaseGeometry.md#getType). ||
|| [scale](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#scale)([factor](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#scale-param-factor)) | [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md) | Создает отмасштабированную копию геометрии.

Унаследован от [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#scale). ||
|| [shift](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#shift)([offset](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#shift-param-offset)) | [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md) | Создает копию геометрии сдвинутую на заданную величину.

Унаследован от [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelGeometry.md#shift). ||
|#

<!-- XLIFF_FARM_NjcwNTdh_CACHING -->

[*star]: Обязательный параметр.