Определяет плоскость произвольной двумерной формы, используя пути с необязательными отверстиями. Может использоваться с 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);
points — (необ.) массив двумерных векторов.
Создает фигуру из точек. Первая точка определяет смещение, последующие точки добавляются в массив curves как LineCurves.
Если точки не указаны, создается пустая фигура, а .currentPoint устанавливается в начало координат.
Общие свойства смотрите в базовом классе Path.
UUID данного экземпляра. Он присваивается автоматически, поэтому его не следует редактировать.
Массив paths, определяющий отверстия в фигуре.
Общие методы смотрите в базовом классе Path.
divisions — точность результата.
Вызывает getPoints на фигуре и массиве .holes, и возвращает объект вида:
{
shape
holes
}
где shape и holes — массивы двумерных векторов.
divisions — точность результата.
Получает массив двумерных векторов, представляющий отверстия (holes) в фигуре.
О том как получить исходный код этого модуля читайте тут.