IPixelMultiPolygonGeometry

Расширяет IPixelGeometry.

Интерфейс пиксельной геометрии "Мультимногоугольник".

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

Конструктор

IPixelMultiPolygonGeometry()

Поля

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

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

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

Методы

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

Boolean

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

equals(geometry)

Boolean

Возвращает true, если переданная геометрия эквивалентна данной.

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

getBounds()

Number[][]|null

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

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

getClosest(anchorPosition)

Object

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

getCoordinates()

Number[][][][]

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

getFillRule()

String

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

Integer

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

getMetaData()

Object

Возвращает метаданные пиксельной геометрии.

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

getType()

String

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

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

scale(factor)

IPixelGeometry

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

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

shift(offset)

IPixelGeometry

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

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

Описание методов

contains

{Boolean} contains(position)

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

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

Параметры:

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

Тип: Number[]

Координаты точки.

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

getClosest

{Object} getClosest(anchorPosition)

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

Возвращает объект со следующими полями:
  • position - точка на контуре мультимногоугольника ближайшая к anchorPosition;
  • distance - расстояние от anchorPosition до position;
  • closestPointIndex - индекс вершины мультимногоугольника, ближайшей к position;
  • nextPointIndex - индекс вершины мультимногоугольника, следующей за position;
  • prevPointIndex - индекс вершины мультимногоугольника, предшествующей position;
  • pathIndex - индекс контура мультимногоугольника, к которому относится найденная точка.
Поля nextPointIndex, prevPointIndex могут отсутствовать, если position совпадает с одной из вершин мультимногоугольника.

Параметры:

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

Тип: Number[]

Координаты точки, для которой расчитывается ближайшая точка на контуре многоугольника.

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

getCoordinates

{Number[][][][]} getCoordinates()

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

getFillRule

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

getLength

{Integer} getLength()

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