CylinderGeometry - Verge3D User Manual - Soft8Soft
Description: Learn how to use CylinderGeometry in your interactive 3D apps made with Verge3D

BufferGeometry →

# CylinderGeometry

A class for generating cylinder geometries.

## Code Example

`const geometry = new v3d.CylinderGeometry(2, 2, 4); const material = new v3d.MeshStandardMaterial({color: 0x8458b3}); const cylinder = new v3d.Mesh(geometry, material); app.scene.add(cylinder);`

## Constructor

### 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.

## Properties

See the base BufferGeometry class for inherited properties.

### # .parameters : Object

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

## Methods

See the base BufferGeometry class for inherited methods.

## Puzzles

The create object puzzle can be used to create cylinders in a code-less manner.

## Source

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