16#ifndef QGSTESSELLATEDPOLYGONGEOMETRY_H
17#define QGSTESSELLATEDPOLYGONGEOMETRY_H
21#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
22#include <Qt3DRender/QGeometry>
24#include <Qt3DCore/QGeometry>
36#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
60#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
108 QVector<QgsFeatureId>
featureIds()
const {
return mTriangleIndexFids; }
116#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
117 Qt3DRender::QAttribute *mPositionAttribute =
nullptr;
118 Qt3DRender::QAttribute *mNormalAttribute =
nullptr;
119 Qt3DRender::QAttribute *mTextureCoordsAttribute =
nullptr;
120 Qt3DRender::QBuffer *mVertexBuffer =
nullptr;
122 Qt3DCore::QAttribute *mPositionAttribute =
nullptr;
123 Qt3DCore::QAttribute *mNormalAttribute =
nullptr;
124 Qt3DCore::QAttribute *mTextureCoordsAttribute =
nullptr;
125 Qt3DCore::QBuffer *mVertexBuffer =
nullptr;
128 QVector<QgsFeatureId> mTriangleIndexFids;
129 QVector<uint> mTriangleIndexStartingIndices;
131 bool mWithNormals =
true;
132 bool mInvertNormals =
false;
133 bool mAddBackFaces =
false;
134 bool mAddTextureCoords =
false;
Entity that handles the exporting of 3D scene.
A class to represent a 2D point.
QVector< QgsFeatureId > featureIds() const
Returns included feature ids.
void setInvertNormals(bool invert)
Sets whether the normals of triangles will be inverted (useful for fixing clockwise / counter-clockwi...
QgsFeatureId triangleIndexToFeatureId(uint triangleIndex) const
Returns ID of the feature to which given triangle index belongs (used for picking).
bool addBackFaces() const
Returns whether also triangles facing the other side will be created.
void setData(const QByteArray &vertexBufferData, int vertexCount, const QVector< QgsFeatureId > &triangleIndexFids, const QVector< uint > &triangleIndexStartingIndices)
Initializes vertex buffer (and other members) from data that were already tessellated.
void setAddBackFaces(bool add)
Sets whether also triangles facing the other side will be created.
void setAddTextureCoords(bool add)
Sets whether the texture coordinates will be generated.
bool invertNormals() const
Returns whether the normals of triangles will be inverted (useful for fixing clockwise / counter-cloc...
QVector< uint > triangleIndexStartingIndices() const
Returns triangle index for features. For a feature featureIds()[i], matching triangles start at trian...
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features