- Qt 5.15
- Qt 3D
- C++ Classes
- QCylinderGeometry
- Qt 5.15.18 Reference Documentation

# QCylinderGeometry Class

class Qt3DExtras::QCylinderGeometry

The QCylinderGeometry class allows creation of a cylinder in 3D space. More...

Header: | #include <Qt3DExtras/QCylinderGeometry>
qmake: | QT += 3dextras
Since: | Qt 5.7
Instantiated By: | CylinderGeometry
Inherits: | Qt3DRender::QGeometry

This class was introduced in Qt 5.7.

- List of all members, including inherited members

## Properties

- indexAttribute : Qt3DRender::QAttribute* const
- length : float
- normalAttribute : Qt3DRender::QAttribute* const
- positionAttribute : Qt3DRender::QAttribute* const

- radius : float
- rings : int
- slices : int
- texCoordAttribute : Qt3DRender::QAttribute* const

## Public Functions

| QCylinderGeometry(QNode *parent = nullptr)
Qt3DRender::QAttribute * | indexAttribute() const
float | length() const
Qt3DRender::QAttribute * | normalAttribute() const
Qt3DRender::QAttribute * | positionAttribute() const
float | radius() const
int | rings() const
int | slices() const
Qt3DRender::QAttribute * | texCoordAttribute() const
void | updateIndices()
void | updateVertices()

## Public Slots

void | setLength(float length)
void | setRadius(float radius)
void | setRings(int rings)
void | setSlices(int slices)

## Signals

void | lengthChanged(float length)
void | radiusChanged(float radius)
void | ringsChanged(int rings)
void | slicesChanged(int slices)

## Detailed Description

The QCylinderGeometry class is most commonly used internally by the QCylinderMesh but can also be used in custom Qt3DRender::QGeometryRenderer subclasses.

## Property Documentation

### indexAttribute : Qt3DRender::QAttribute* const

Holds the geometry index attribute.

Access functions:

Qt3DRender::QAttribute * | indexAttribute() const

### length : float

Holds the length of the cylinder.

Access functions:

float | length() const
void | setLength(float length)

Notifier signal:

void | lengthChanged(float length)

### normalAttribute : Qt3DRender::QAttribute* const

Holds the geometry normal attribute.

Access functions:

Qt3DRender::QAttribute * | normalAttribute() const

### positionAttribute : Qt3DRender::QAttribute* const

Holds the geometry position attribute.

Access functions:

Qt3DRender::QAttribute * | positionAttribute() const

### radius : float

Holds the radius of the cylinder.

Access functions:

float | radius() const
void | setRadius(float radius)

Notifier signal:

void | radiusChanged(float radius)

### rings : int

Holds the number of rings in the cylinder.

Access functions:

int | rings() const
void | setRings(int rings)

Notifier signal:

void | ringsChanged(int rings)

### slices : int

Holds the number of slices in the cylinder.

Access functions:

int | slices() const
void | setSlices(int slices)

Notifier signal:

void | slicesChanged(int slices)

### texCoordAttribute : Qt3DRender::QAttribute* const

Holds the geometry texture coordinate attribute.

Access functions:

Qt3DRender::QAttribute * | texCoordAttribute() const

## Member Function Documentation

### QCylinderGeometry::QCylinderGeometry(QNode *parent = nullptr)

Constructs a new QCylinderMesh with parent.

### void QCylinderGeometry::updateIndices()

Updates the indices based on rings, slices, and length properties.

### void QCylinderGeometry::updateVertices()

Updates the vertices based on rings, slices, and length properties.