- Qt 6.8
- Qt 3D
- C++ Classes
- Qt3DExtras (Deprecated)
- QSphereGeometry
- Qt 6.8.1 Reference Documentation

# QSphereGeometry Class

class Qt3DExtras::QSphereGeometry

The QSphereGeometry class allows creation of a sphere in 3D space. More...

Header: | `#include <Qt3DExtras/QSphereGeometry>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS 3dextras)` `target_link_libraries(mytarget PRIVATE Qt6::3dextras)`
qmake: | `QT += 3dextras`
In QML: | SphereGeometry
Inherits: | Qt3DCore::QGeometry
Status: | Deprecated

- List of all members, including inherited members

## Properties

generateTangents : bool indexAttribute : Qt3DCore::QAttribute* const normalAttribute : Qt3DCore::QAttribute* const positionAttribute : Qt3DCore::QAttribute* const radius : float | rings : int slices : int tangentAttribute : Qt3DCore::QAttribute* const texCoordAttribute : Qt3DCore::QAttribute* const

## Public Functions

| QSphereGeometry(Qt3DCore::QNode *parent = nullptr)
bool | generateTangents() const
Qt3DCore::QAttribute * | indexAttribute() const
Qt3DCore::QAttribute * | normalAttribute() const
Qt3DCore::QAttribute * | positionAttribute() const
float | radius() const
int | rings() const
int | slices() const
Qt3DCore::QAttribute * | tangentAttribute() const
Qt3DCore::QAttribute * | texCoordAttribute() const
void | updateIndices()
void | updateVertices()

## Public Slots

void | setGenerateTangents(bool gen)
void | setRadius(float radius)
void | setRings(int rings)
void | setSlices(int slices)

## Signals

void | generateTangentsChanged(bool generateTangents)
void | radiusChanged(float radius)
void | ringsChanged(int rings)
void | slicesChanged(int slices)

## Detailed Description

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

## Property Documentation

### generateTangents : bool

Holds the value of the automatic tangent vectors generation flag. Tangent vectors are orthogonal to normal vectors.

Access functions:

bool | generateTangents() const
void | setGenerateTangents(bool gen)

Notifier signal:

void | generateTangentsChanged(bool generateTangents)

### `[read-only]` indexAttribute : Qt3DCore::QAttribute* const

Holds the geometry index attribute.

Access functions:

Qt3DCore::QAttribute * | indexAttribute() const

### `[read-only]` normalAttribute : Qt3DCore::QAttribute* const

Holds the geometry normal attribute.

Access functions:

Qt3DCore::QAttribute * | normalAttribute() const

### `[read-only]` positionAttribute : Qt3DCore::QAttribute* const

Holds the geometry position attribute.

Access functions:

Qt3DCore::QAttribute * | positionAttribute() const

### radius : float

Holds the radius of the sphere.

Access functions:

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

Notifier signal:

void | radiusChanged(float radius)

### rings : int

Holds the number of rings in the sphere.

Access functions:

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

Notifier signal:

void | ringsChanged(int rings)

### slices : int

Holds the number of slices in the sphere.

Access functions:

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

Notifier signal:

void | slicesChanged(int slices)

### `[read-only]` tangentAttribute : Qt3DCore::QAttribute* const

Holds the geometry tangent attribute.

Access functions:

Qt3DCore::QAttribute * | tangentAttribute() const

### `[read-only]` texCoordAttribute : Qt3DCore::QAttribute* const

Holds the geometry texture coordinate attribute.

Access functions:

Qt3DCore::QAttribute * | texCoordAttribute() const

## Member Function Documentation

### `[explicit]` QSphereGeometry::QSphereGeometry(Qt3DCore::QNode *parent = nullptr)

Constructs a new QSphereGeometry with parent.

### void QSphereGeometry::updateIndices()

Updates indices based on rings and slices properties.

### void QSphereGeometry::updateVertices()

Updates vertices based on rings, slices, and radius properties