IPixelPolygonGeometry

Расширяет IPixelGeometry .

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

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

Конструктор

IPixelPolygonGeometry()

Поля

Имя Тип Описание
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()

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