16#ifndef QGSLINEVERTEXDATA_P_H
17#define QGSLINEVERTEXDATA_P_H
63struct QgsLineVertexData
65 QVector<QVector3D> pointsA;
66 QVector<QVector3D> pointsB;
67 QVector<QVector3D> pointsPrev;
68 QVector<QVector3D> pointsNext;
69 QVector<QVector3D> vertices;
72 QVector<QVector3D> joinPointA;
73 QVector<QVector3D> joinPointB;
74 QVector<QVector3D> joinPointC;
76 QByteArray materialDataDefined;
78 QByteArray materialDataDefinedJoins;
84 Qgs3DRenderContext renderContext;
86 bool geocentricCoordinates =
false;
90 void addLineString(
const QgsLineString &lineString,
float extraHeightOffset = 0,
bool closePolygon =
false );
92 void addVerticalLines(
const QgsLineString &lineString,
float verticalLength,
float extraHeightOffset = 0 );
94 QByteArray createPointABuffer()
const;
95 QByteArray createPointBBuffer()
const;
96 QByteArray createPointPrevBuffer()
const;
97 QByteArray createPointNextBuffer()
const;
99 QByteArray createJoinPointABuffer()
const;
100 QByteArray createJoinPointBBuffer()
const;
101 QByteArray createJoinPointCBuffer()
const;
103 Qt3DCore::QGeometry *createGeometry( Qt3DCore::QNode *parent );
104 Qt3DCore::QGeometry *createJoinGeometry( Qt3DCore::QNode *parent );
105 Qt3DCore::QEntity *createSegmentEntity( QgsMaterial *material,
const QgsAbstractMaterialSettings *materialSettings =
nullptr,
const QgsAbstractMaterial3DHandler *materialHandler =
nullptr );
106 Qt3DCore::QEntity *createJoinEntity(
107 const QgsLineMaterial *segmentMaterial,
const QgsAbstractMaterialSettings *materialSettings =
nullptr,
const QgsAbstractMaterial3DHandler *materialHandler =
nullptr
AltitudeClamping
Altitude clamping.
@ Absolute
Elevation is taken directly from feature and is independent of terrain height (final elevation = feat...
AltitudeBinding
Altitude binding.
@ Vertex
Clamp every vertex of feature.
Abstract base class for material 3D handlers.
Abstract base class for material settings.
Line string geometry type, with support for z-dimension and m-values.
Base class for all materials used within QGIS 3D views.