A class for generating cylinder geometries.

Code Example

const geometry = new v3d.CylinderGeometry(5, 5, 20, 32); const material = new v3d.MeshBasicMaterial({color: 0xffff00}); const cylinder = new v3d.Mesh(geometry, material); scene.add(cylinder);


CylinderGeometry(radiusTop : Float, radiusBottom : Float, height : Float, radialSegments : Integer, heightSegments : Integer, openEnded : Boolean, thetaStart : Float, thetaLength : Float)

radiusTop — radius of the cylinder at the top. Default is 1.
radiusBottom — radius of the cylinder at the bottom. Default is 1.
height — height of the cylinder. Default is 1.
radialSegments — number of segmented faces around the circumference of the cylinder. Default is 32.
heightSegments — number of rows of faces along the height of the cylinder. Default is 1.
openEnded — a boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.
thetaStart — start angle for first segment, default is 0 (three o'clock position).
thetaLength — the central angle, often called theta, of the circular sector. The default is 2π (2*Math.PI), which makes for a complete cylinder.

Procedural geometry is fun. However, in real life applications this feature is rarely needed. It would be more efficient do design cylinders in the preferred modelling suite and export/load to Verge3D via glTF.


See the base BufferGeometry class for common properties.

.parameters : Object

An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.


See the base BufferGeometry class for common methods.


For more info on how to obtain the source code of this module see this page.