QGeometryView Class

class Qt3DCore::QGeometryView

Encapsulates geometry details. More...

Header: #include <QGeometryView>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dcore)
target_link_libraries(mytarget PRIVATE Qt6::3dcore)
qmake: QT += 3dcore
Since: Qt 6.0
Instantiated By: GeometryView
Inherits: Qt3DCore::QNode
Inherited By:

Qt3DExtras::QConeGeometryView, Qt3DExtras::QCuboidGeometryView, Qt3DExtras::QCylinderGeometryView, Qt3DExtras::QPlaneGeometryView, Qt3DExtras::QSphereGeometryView, and Qt3DExtras::QTorusGeometryView

Public Types

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

Properties

Public Functions

QGeometryView(Qt3DCore::QNode *parent = nullptr)
int firstInstance() const
int firstVertex() const
Qt3DCore::QGeometry *geometry() const
int indexBufferByteOffset() const
int indexOffset() const
int instanceCount() const
bool primitiveRestartEnabled() const
Qt3DCore::QGeometryView::PrimitiveType primitiveType() const
int restartIndexValue() const
int vertexCount() const
int verticesPerPatch() const

Public Slots

void setFirstInstance(int firstInstance)
void setFirstVertex(int firstVertex)
void setGeometry(Qt3DCore::QGeometry *geometry)
void setIndexBufferByteOffset(int offset)
void setIndexOffset(int indexOffset)
void setInstanceCount(int instanceCount)
void setPrimitiveRestartEnabled(bool enabled)
void setPrimitiveType(Qt3DCore::QGeometryView::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(Qt3DCore::QGeometry *geometry)
void indexBufferByteOffsetChanged(int offset)
void indexOffsetChanged(int indexOffset)
void instanceCountChanged(int instanceCount)
void primitiveRestartEnabledChanged(bool primitiveRestartEnabled)
void primitiveTypeChanged(Qt3DCore::QGeometryView::PrimitiveType primitiveType)
void restartIndexValueChanged(int restartIndexValue)
void vertexCountChanged(int vertexCount)
void verticesPerPatchChanged(int verticesPerPatch)

Detailed Description

A GeometryView holds all the information necessary to handle a Geometry. A Geometry holds the coordinates of the geometry data - GeometryView specifies how to interpret that data.

Member Type Documentation

enum QGeometryView::PrimitiveType

The type of the primitive.

ConstantValueDescription
Qt3DCore::QGeometryView::Points0x0000List of points
Qt3DCore::QGeometryView::Lines0x0001List of lines
Qt3DCore::QGeometryView::LineLoop0x0002Connected group of lines connected at ends forming a loop
Qt3DCore::QGeometryView::LineStrip0x0003Connected group of lines
Qt3DCore::QGeometryView::Triangles0x0004List of triangles
Qt3DCore::QGeometryView::TriangleStrip0x0005List of connected triangles
Qt3DCore::QGeometryView::TriangleFan0x0006List of connected triagles where all triangles share the first vertex
Qt3DCore::QGeometryView::LinesAdjacency0x000AAllows geometry shader to access adjacent lines in a line list
Qt3DCore::QGeometryView::TrianglesAdjacency0x000CAllows geometry shader to access adjacent triangles in a triangle list
Qt3DCore::QGeometryView::LineStripAdjacency0x000BAllows geometry shader to access adjacent lines in a line strip
Qt3DCore::QGeometryView::TriangleStripAdjacency0x000DAllows geometry shader to access adjacent triangles in a triangle strip
Qt3DCore::QGeometryView::Patches0x000EOnly 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 : Qt3DCore::QGeometry*

Holds the geometry.

Access functions:

Qt3DCore::QGeometry *geometry() const
void setGeometry(Qt3DCore::QGeometry *geometry)

Notifier signal:

void geometryChanged(Qt3DCore::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:

Qt3DCore::QGeometryView::PrimitiveType primitiveType() const
void setPrimitiveType(Qt3DCore::QGeometryView::PrimitiveType primitiveType)

Notifier signal:

void primitiveTypeChanged(Qt3DCore::QGeometryView::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

QGeometryView::QGeometryView(Qt3DCore::QNode *parent = nullptr)

Constructs a new QGeometryView with parent.

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.