Это BufferGeometry, порт LatheGeometry.
const points = [];
for (let i = 0; i < 10; i++) {
points.push(new v3d.Vector2(Math.sin(i * 0.2) * 10 + 5, (i - 5) * 2));
}
const geometry = new v3d.LatheBufferGeometry(points);
const material = new v3d.MeshBasicMaterial({ color: 0xffff00 });
const lathe = new v3d.Mesh(geometry, material);
scene.add(lathe);
points — Массив Vector2s. Координата x каждой точки должна быть больше нуля.
segments — количество сегментов окружности для генерации. По умолчанию - 12.
phiStart — начальный угол в радианах. По умолчанию 0.
phiLength — длина окружности, в радианах (в диапазоне от 0 до 2PI). Значение равное 2PI означает, что окружность замкнута, менее 2PI - часть окружности. Значение по умолчанию равно 2PI.
Данный конструктор на основе заданных параметров создает LatheBufferGeometry.
Общие свойства см. в базовом классе BufferGeometry.
Объект со свойством для каждого из параметров конструктора. Любая модификация после построения не изменяет геометрию.
Общие методы см. в базовом классе BufferGeometry.
О том как получить исходный код этого модуля читайте тут.