geometry.base.Polygon

Расширяет IBasePolygonGeometry .

Базовая геометрия "Многоугольник".

Конструктор | Поля | События | Методы

Конструктор

geometry.base.Polygon([coordinates[, fillRule]])

Параметры:

Параметр Значение по умолчанию Описание
coordinates []

Тип: Number[][][]

Координаты геометрии.

fillRule "evenOdd"

Тип: String

Строковый идентификатор, определяющий алгоритм заливки многоугольника. Может принимать одно из двух значений:
  • evenOdd - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и подсчета количества сегментов контура в пределах заданной фигуры, которые пересекает этот луч. Если это число нечетное, точка находится внутри; если четное, точка находится снаружи.
  • nonZero - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и проверки точек, в которых сегмент фигуры пересекает этот луч. Начиная с нуля, добавляется единица каждый раз, когда сегмент пересекает луч слева направо, и вычитается единица каждый раз, когда сегмент пересекает луч справа налево. Если после подсчета пересечений результат равен нулю, точка находится снаружи контура. В противном случае она находится внутри.

Пример:

var polygon = new ymaps.geometry.base.Polygon([
    // Внешний контур.
    [
        [0, 0], [0, 5], [5, 5], [5, 0], [0, 0]
    ],
    // Внутренний контур.
    [
        [1, 1], [1, 2], [2, 2], [2, 1], [1, 1]
    ]
]);

Поля

Имя Тип Описание
events event.Manager

Менеджер событий геометрии.

События

Имя Описание
change
Изменение координат. Экземпляр класса Event . Имена полей, доступных через метод Event.get :
  • oldCoordinates — старые координаты;
  • newCoordinates - новые координаты;
  • oldFillRule - старый алгоритм заливки;
  • newFillRule - новые алгоритм заливки.

Унаследовано от IPolygonGeometryAccess .

Методы

Имя Возвращает Описание
contains (position)

Boolean

Проверяет, лежит ли переданная точка внутри многоугольника.

Унаследован от IPolygonGeometryAccess .

freeze ()

IFreezable

Переводит объект в "замороженный" режим.

Унаследован от IFreezable .

get (index)

Number[][]

Возвращает координаты контура c заданным индексом.

Унаследован от IPolygonGeometryAccess .

getBounds ()

Number[][]|null

Возвращает координаты двух противоположных углов области, охватывающей геометрию. Первый элемент массива - угол с наименьшими значениями координат относительно остальных точек области; второй элемент - угол с наибольшими значениями координат.

Унаследован от IBaseGeometry .

getChildGeometry (index)

ILinearRingGeometryAccess

Создает и возвращает объект ILinearRingGeometryAccess для заданного контура.

Унаследован от IPolygonGeometryAccess .

getClosest (anchorPosition)

Object

Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

Унаследован от IPolygonGeometryAccess .

getCoordinates ()

Number[][][]

Возвращает массив координат геометрии.

Унаследован от IPolygonGeometryAccess .

getFillRule ()

String

Возвращает идентификатор алгоритма заливки.

Унаследован от IPolygonGeometryAccess .

getLength ()

Integer

Возвращает количество контуров в геометрии.

Унаследован от IPolygonGeometryAccess .

getType ()

String

Возвращает строку "Polygon".

Унаследован от IBasePolygonGeometry .

insert (index, path)

IPolygonGeometryAccess

Добавляет новый контур с заданным индексом.

Унаследован от IPolygonGeometryAccess .

isFrozen ()

Boolean

Возвращает true, если объект находится в "замороженном" режиме, иначе false.

Унаследован от IFreezable .

remove (index)

ILinearRingGeometryAccess

Удаляет контур с заданным индексом.

Унаследован от IPolygonGeometryAccess .

set (index, path)

IPolygonGeometryAccess

Задает координаты контура c заданным индексом.

Унаследован от IPolygonGeometryAccess .

setCoordinates (coordinates)

IPolygonGeometryAccess

Задает массив координат геометрии.

Унаследован от IPolygonGeometryAccess .

setFillRule (fillRule)

IPolygonGeometryAccess

Задает алгоритм заливки многоугольника.

Унаследован от IPolygonGeometryAccess .

splice (index, number)

ILinearRingGeometryAccess []

Удаляет определенное число контуров начиная с заданного индекса. При этом на место удаляемых контуров могут быть добавлены новые. Координаты новых контуров можно передавать дополнительными аргументами после параметра number.

Унаследован от IPolygonGeometryAccess .

unfreeze ()

IFreezable

Переводит объект в активный режим.

Унаследован от IFreezable .

Описание полей

events

{event.Manager} events

Менеджер событий геометрии.