geometry.base.Polygon

Расширяет IBasePolygonGeometry.

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

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

Конструктор

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

Параметры:

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

Тип: Number[][][]

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

fillRule "evenOdd"

Тип: String

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

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

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

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

События

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

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

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

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

Методы

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

Boolean

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

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

freeze()

IFreezable

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

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

get(index)

Number[][]

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

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

getBounds()

Number[][]|null

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

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

getChildGeometry(index)

ILinearRingGeometryAccess

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

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

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

getFillRule()

String

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

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

getLength()

Integer

Returns количество контуров в геометрии.

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

getType()

String

Returns строку "Polygon".

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

insert(index, path)

IPolygonGeometryAccess

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

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

isFrozen()

Boolean

Returns 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.

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

Boolean

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

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

freeze()

IFreezable

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

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

get(index)

Number[][]

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

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

getBounds()

Number[][]|null

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

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

getChildGeometry(index)

ILinearRingGeometryAccess

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

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

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

getFillRule()

String

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

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

getLength()

Integer

Returns количество контуров в геометрии.

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

getType()

String

Returns строку "Polygon".

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

insert(index, path)

IPolygonGeometryAccess

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

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

isFrozen()

Boolean

Returns 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

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