CurveCurvePathPath

Shape

Определяет плоскость произвольной двумерной формы, используя пути с необязательными отверстиями. Может использоваться с ExtrudeGeometry, ShapeGeometry, для получения точек или для получения триангулированных граней.

Пример

const heartShape = new v3d.Shape(); heartShape.moveTo(25, 25); heartShape.bezierCurveTo(25, 25, 20, 0, 0, 0); heartShape.bezierCurveTo(-30, 0, -30, 35, -30, 35); heartShape.bezierCurveTo(-30, 55, -10, 77, 25, 95); heartShape.bezierCurveTo(60, 77, 80, 55, 80, 35); heartShape.bezierCurveTo(80, 35, 80, 0, 50, 0); heartShape.bezierCurveTo(35, 0, 25, 25, 25, 25); const extrudeSettings = { depth: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 }; const geometry = new v3d.ExtrudeGeometry(heartShape, extrudeSettings); const mesh = new v3d.Mesh(geometry, new v3d.MeshStandardMaterial()); mesh.scale.setScalar(0.03) app.scene.add(mesh);

Конструктор

Shape(points : Array)

points — (необ.) массив двумерных векторов.

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

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

Свойства

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

.uuid : String

UUID данного экземпляра. Он присваивается автоматически, поэтому его не следует редактировать.

.holes : Array

Массив paths, определяющий отверстия в фигуре.

Методы

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

.extractPoints(divisions : Integer) → Array

divisions — точность результата.

Вызывает getPoints на фигуре и массиве .holes, и возвращает объект вида:

{ shape holes }

где shape и holes — массивы двумерных векторов.

.getPointsHoles(divisions : Integer) → Array

divisions — точность результата.

Получает массив двумерных векторов, представляющий отверстия (holes) в фигуре.

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

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