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

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