Geometry

TubeGeometry

Создает трубку, которая экструдится по трехмерной кривой.

Пример

class CustomSinCurve extends v3d.Curve { constructor(scale = 1) { super(); this.scale = scale; } getPoint(t, optionalTarget = new v3d.Vector3()) { const tx = t * 3 - 1.5; const ty = Math.sin(2 * Math.PI * t); const tz = 0; return optionalTarget.set(tx, ty, tz).multiplyScalar(this.scale); } } const path = new CustomSinCurve(10); const geometry = new v3d.TubeGeometry(path, 20, 2, 8, false); const material = new v3d.MeshBasicMaterial({ color: 0x00ff00 }); const mesh = new v3d.Mesh(geometry, material); scene.add(mesh);

Конструктор

TubeGeometry(path : Curve, tubularSegments : Integer, radius : Float, radialSegments : Integer, closed : Boolean)

path — Curve — 3D-путь, который наследуется от базового класса Curve.
tubularSegments — Integer — Количество сегментов, из которых состоит трубка, по умолчанию 64
radius — Float — Радиус трубки, по умолчанию 1
radialSegments — Integer — Количество сегментов, составляющих поперечное сечение, по умолчанию 8
closed — Boolean Открытая или закрытая трубка, по умолчанию false.

Свойства

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

.parameters : Object

Объект со свойством для каждого из параметров конструктора. Любая модификация после построения не изменяет геометрию.

.tangents : Array

Массив Vector3 касательных

.normals : Array

Массив Vector3 нормалей

.binormals : Array

Массив Vector3 бинормалей

Методы

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

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

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