geometry.pixel.MultiPolygon

Расширяет IPixelPolygonGeometry.

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

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

Конструктор

geometry.pixel.MultiPolygon(coordinates, fillRule[, metaData])

Параметры:

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

Тип: Number[][][][]

Координаты многоугольников.

fillRule *

Тип: String

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

Тип: Object

Метаданные.

metaData.convex false

Тип: Boolean

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

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

Тип: Number[][][][]

Координаты многоугольников.

fillRule *

Тип: String

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

Тип: Object

Метаданные.

metaData.convex false

Тип: Boolean

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

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

Поля

Имя Тип Описание
events IEventManager

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

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

Имя Тип Описание
events IEventManager

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

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

Методы

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

Boolean

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

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

getBounds()

Number[][]|null

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

Returns координаты многоугольника.

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

getFillRule()

String

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

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

getLength()

Integer

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

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

getMetaData()

Object

Returns метаданные пиксельной геометрии.

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

getType()

String

Returns идентификатор типа геометрии.

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

scale(factor)

IPixelGeometry

Создает отмасштабированную копию геометрии.

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

shift(offset)

IPixelGeometry

Создает копию геометрии сдвинутую на заданную величину.

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

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

Boolean

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

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

getBounds()

Number[][]|null

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

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

getClosest(anchorPosition)

Object

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

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

getCoordinates()

Number[][][]

Returns координаты многоугольника.

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

getFillRule()

String

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

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

getLength()

Integer

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

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

getMetaData()

Object

Returns метаданные пиксельной геометрии.

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

getType()

String

Returns идентификатор типа геометрии.

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

scale(factor)

IPixelGeometry

Создает отмасштабированную копию геометрии.

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

shift(offset)

IPixelGeometry

Создает копию геометрии сдвинутую на заданную величину.

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