CurveCurvePath

Path

Двумерное представление пути. Класс предоставляет методы для создания путей и контуров двумерных фигур, аналогичные API 2D Canvas.

Пример

const path = new v3d.Path(); path.lineTo(0, 0.8); path.quadraticCurveTo(0, 1, 0.2, 1); path.lineTo(1, 1); const points = path.getPoints(); const geometry = new v3d.BufferGeometry().setFromPoints(points); const material = new v3d.LineBasicMaterial({ color: 0xffffff }); const line = new v3d.Line(geometry, material); app.scene.add(line);

Конструктор

Path(points : Array)

points — (необ.) массив Vector2.

Создает контур из точек. Первая точка определяет смещение, затем последующие точки добавляются в массив curves как LineCurves.

Если точки не указаны, создается пустой контур, а .currentPoint устанавливается в начало координат.

Свойства

Общие свойства смотрите в базовом классе CurvePath.

.currentPoint : Array

Текущее смещение контура. Любая новая добавленная Curve будет начинаться здесь.

Методы

Общие методы смотрите в базовом классе CurvePath.

.absarc(x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean) → this

Добавляет абсолютно позиционированную EllipseCurve к пути.

.absellipse(x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean, rotation : Float) → this

Добавляет абсолютно позиционированную EllipseCurve к пути.

.arc(x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean) → this

Добавляет EllipseCurve в контур, позиционированный относительно .currentPoint.

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

Создает кривую Безье из .currentPoint с (cp1X, cp1Y) и (cp2X, cp2Y) в качестве контрольных точек и обновляет .currentPoint до x и y.

.ellipse(x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean, rotation : Float) → this

Добавляет EllipseCurve в контур, позиционированный относительно .currentPoint.

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

Соединяет LineCurve из .currentPoint с x, y на пути.

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

Перемещает .currentPoint к x, y.

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

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

.setFromPoints(vector2s : Array) → this

points — массивVector2.

Точки добавляются в массив curves как LineCurve.

.splineThru(points : Array) → this

points - массив Vector2.

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

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

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