- Qt 5.15
- Qt 3D
- C++ Classes
- QGeometryRenderer
- Qt 5.15.19 Reference Documentation

# QGeometryRenderer Class

class Qt3DRender::QGeometryRenderer

Encapsulates geometry rendering. More...

Header: | #include <QGeometryRenderer>
qmake: | QT += 3drender
Since: | Qt 5.7
Instantiated By: | GeometryRenderer
Inherits: | Qt3DCore::QComponent
Inherited By: | Qt3DExtras::QConeMesh, Qt3DExtras::QCuboidMesh, Qt3DExtras::QCylinderMesh, Qt3DExtras::QExtrudedTextMesh, Qt3DExtras::QPlaneMesh, Qt3DExtras::QSphereMesh, Qt3DExtras::QTorusMesh, and Qt3DRender::QMesh

This class was introduced in Qt 5.7.

- List of all members, including inherited members

## Public Types

enum | PrimitiveType { Points, Lines, LineLoop, LineStrip, Triangles, …, Patches }

## Properties

- firstInstance : int
- firstVertex : int
- geometry : Qt3DRender::QGeometry*
- indexBufferByteOffset : int
- indexOffset : int
- instanceCount : int

- primitiveRestartEnabled : bool
- primitiveType : PrimitiveType
- restartIndexValue : int
- vertexCount : int
- verticesPerPatch : int

## Public Functions

int | firstInstance() const
int | firstVertex() const
QGeometry * | geometry() const
QGeometryFactoryPtr | geometryFactory() const
int | indexBufferByteOffset() const
int | indexOffset() const
int | instanceCount() const
bool | primitiveRestartEnabled() const
PrimitiveType | primitiveType() const
int | restartIndexValue() const
void | setGeometryFactory(const QGeometryFactoryPtr &factory)
int | vertexCount() const
int | verticesPerPatch() const

## Public Slots

void | setFirstInstance(int firstInstance)
void | setFirstVertex(int firstVertex)
void | setGeometry(QGeometry *geometry)
void | setIndexBufferByteOffset(int offset)
void | setIndexOffset(int indexOffset)
void | setInstanceCount(int instanceCount)
void | setPrimitiveRestartEnabled(bool enabled)
void | setPrimitiveType(PrimitiveType primitiveType)
void | setRestartIndexValue(int index)
void | setVertexCount(int vertexCount)
void | setVerticesPerPatch(int verticesPerPatch)

## Signals

void | firstInstanceChanged(int firstInstance)
void | firstVertexChanged(int firstVertex)
void | geometryChanged(QGeometry *geometry)
void | indexBufferByteOffsetChanged(int offset)
void | indexOffsetChanged(int indexOffset)
void | instanceCountChanged(int instanceCount)
void | primitiveRestartEnabledChanged(bool primitiveRestartEnabled)
void | primitiveTypeChanged(PrimitiveType primitiveType)
void | restartIndexValueChanged(int restartIndexValue)
void | vertexCountChanged(int vertexCount)
void | verticesPerPatchChanged(int verticesPerPatch)

## Detailed Description

A Qt3DRender::QGeometryRenderer holds all the information necessary to draw a Qt3DRender::QGeometry. A QGeometry holds the coordinates of the geometry data - QGeometryRenderer specifies how to interpret that data.

## Member Type Documentation

### enum QGeometryRenderer::PrimitiveType

The type of the primitive.

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QGeometryRenderer::Points` | `0x0000` | List of points
`Qt3DRender::QGeometryRenderer::Lines` | `0x0001` | List of lines
`Qt3DRender::QGeometryRenderer::LineLoop` | `0x0002` | Connected group of lines connected at ends forming a loop
`Qt3DRender::QGeometryRenderer::LineStrip` | `0x0003` | Connected group of lines
`Qt3DRender::QGeometryRenderer::Triangles` | `0x0004` | List of triangles
`Qt3DRender::QGeometryRenderer::TriangleStrip` | `0x0005` | List of connected triangles
`Qt3DRender::QGeometryRenderer::TriangleFan` | `0x0006` | List of connected triagles where all triangles share the first vertex
`Qt3DRender::QGeometryRenderer::LinesAdjacency` | `0x000A` | Allows geometry shader to access adjacent lines in a line list
`Qt3DRender::QGeometryRenderer::TrianglesAdjacency` | `0x000C` | Allows geometry shader to access adjacent triangles in a triangle list
`Qt3DRender::QGeometryRenderer::LineStripAdjacency` | `0x000B` | Allows geometry shader to access adjacent lines in a line strip
`Qt3DRender::QGeometryRenderer::TriangleStripAdjacency` | `0x000D` | Allows geometry shader to access adjacent triangles in a triangle strip
`Qt3DRender::QGeometryRenderer::Patches` | `0x000E` | Only primitive type accepted by tesselation shader where a patch consists of arbitrary number of vertices

## Property Documentation

### firstInstance : int

Holds the base instance.

Access functions:

int | firstInstance() const
void | setFirstInstance(int firstInstance)

Notifier signal:

void | firstInstanceChanged(int firstInstance)

### firstVertex : int

Holds the base vertex.

Access functions:

int | firstVertex() const
void | setFirstVertex(int firstVertex)

Notifier signal:

void | firstVertexChanged(int firstVertex)

### geometry : Qt3DRender::QGeometry*

Holds the geometry.

Access functions:

QGeometry * | geometry() const
void | setGeometry(QGeometry *geometry)

Notifier signal:

void | geometryChanged(QGeometry *geometry)

### indexBufferByteOffset : int

Holds the byte offset into the index buffer.

Access functions:

int | indexBufferByteOffset() const
void | setIndexBufferByteOffset(int offset)

Notifier signal:

void | indexBufferByteOffsetChanged(int offset)

### indexOffset : int

Holds the base vertex.

Access functions:

int | indexOffset() const
void | setIndexOffset(int indexOffset)

Notifier signal:

void | indexOffsetChanged(int indexOffset)

### instanceCount : int

Holds the instance count.

Access functions:

int | instanceCount() const
void | setInstanceCount(int instanceCount)

Notifier signal:

void | instanceCountChanged(int instanceCount)

### primitiveRestartEnabled : bool

Holds the primitive restart flag.

Access functions:

bool | primitiveRestartEnabled() const
void | setPrimitiveRestartEnabled(bool enabled)

Notifier signal:

void | primitiveRestartEnabledChanged(bool primitiveRestartEnabled)

### primitiveType : PrimitiveType

Holds the primitive type.

Access functions:

PrimitiveType | primitiveType() const
void | setPrimitiveType(PrimitiveType primitiveType)

Notifier signal:

void | primitiveTypeChanged(PrimitiveType primitiveType)

### restartIndexValue : int

Holds the restart index.

Access functions:

int | restartIndexValue() const
void | setRestartIndexValue(int index)

Notifier signal:

void | restartIndexValueChanged(int restartIndexValue)

### vertexCount : int

Holds the primitive count.

Access functions:

int | vertexCount() const
void | setVertexCount(int vertexCount)

Notifier signal:

void | vertexCountChanged(int vertexCount)

### verticesPerPatch : int

Holds vertices per patch.

Access functions:

int | verticesPerPatch() const
void | setVerticesPerPatch(int verticesPerPatch)

Notifier signal:

void | verticesPerPatchChanged(int verticesPerPatch)

## Member Function Documentation

### QGeometryFactoryPtr QGeometryRenderer::geometryFactory() const

Returns the geometry functor.

See also setGeometryFactory().

### void QGeometryRenderer::setGeometryFactory(const QGeometryFactoryPtr &factory)

Sets the geometry factory.

See also geometryFactory().