ShapePath

Этот класс используется для преобразования серии фигур в массив Path, например, SVG-фигуры в контур (смотрите пример ниже). Он используется внутри Font для преобразования шрифта в формате JSON в серию контуров.

Примеры

geometry / extrude / shapes2

Конструктор

ShapePath()

Создает новый ShapePath. В отличие от Path, никакие точки не передаются, поскольку ShapePath предназначен для генерации после создания.

Совойства

.subPaths : Array

Массив Paths.

.currentPath : Array

Текущий Path, который генерируется.

.color : Color

Color фигуры, по умолчанию установлен на белый цвет (0xffffffff).

Методы

.moveTo(x : Float, y : Float) → this

Создает новую Path и вызывает Path.moveTo(x, y) на этой Path. Также указывает currentPath на эту Path.

.lineTo(x : Float, y : Float) → this

Это создает линию от смещения currentPath до X и Y и обновляет смещение до X и Y.

.quadraticCurveTo(cpX : Float, cpY : Float, x : Float, y : Float) → this

Это создает квадратичную кривую от смещения currentPath к x и y с cpX и cpY в качестве контрольных точек и обновляет смещение currentPath к x и y.

.bezierCurveTo(cp1X : Float, cp1Y : Float, cp2X : Float, cp2Y : Float, x : Float, y : Float) → this

Это создает кривую безье от смещения currentPath по x и y с cp1X, cp1Y и cp1X, cp1Y в качестве контрольных точек и обновляет смещение currentPath currentPath по x и y.

.splineThru(points : Array) → this

points - массив Vector2s

Подключает новую SplineCurve к currentPath.

.toShapes(isCCW : Boolean, noHoles : Boolean) → Array

isCCW — Изменяет способ создания твердых тел и отверстий
noHoles — Генерировать или не генерировать отверстия

Преобразует массив subPaths в массив Shapes. По умолчанию сплошные фигуры определяются по часовой стрелке (CW), а отверстия - против часовой стрелки (CCW). Если параметр isCCW имеет значение true, то они будут перевернуты. Если параметр noHoles имеет значение true, то все пути будут заданы как сплошные фигуры и isCCW будет игнорироваться.

Исходный файл

О том как получить исходный код этого модуля читайте тут.