IPixelPolygonGeometry

Расширяет IPixelGeometry.

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

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

Конструктор

IPixelPolygonGeometry(coordinates, fillRule[, metaData])

Параметры:

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

Тип: Number[][][]

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

fillRule *

Тип: String

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

Тип: Object

метаданные

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

Поля

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

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

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

Методы

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

Boolean

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

getBounds()

Number[][]|null

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

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

getClosest(anchorPosition)

Object

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

getCoordinates()

Number[][][]

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

getFillRule()

String

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

getLength()

Integer

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

getMetaData()

Object

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

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

getType()

String

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

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

scale(factor)

IPixelGeometry

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

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

shift(offset)

IPixelGeometry

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

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

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

contains

{Boolean} contains(position)

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

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

Параметры:

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

Тип: Number[]

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

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

getClosest

{Object} getClosest(anchorPosition)

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

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

Параметры:

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

Тип: Number[]

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

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

getCoordinates

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

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

getFillRule

{String} getFillRule()

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

getLength

{Integer} getLength()

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