QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
#include <qgstessellatedpolygongeometry.h>
Public Member Functions | |
QgsTessellatedPolygonGeometry (QNode *parent=nullptr) | |
Constructor. More... | |
bool | addBackFaces () const |
Returns whether also triangles facing the other side will be created. More... | |
bool | invertNormals () const |
Returns whether the normals of triangles will be inverted (useful for fixing clockwise / counter-clockwise face vertex orders) More... | |
void | setAddBackFaces (bool add) |
Sets whether also triangles facing the other side will be created. More... | |
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. More... | |
void | setInvertNormals (bool invert) |
Sets whether the normals of triangles will be inverted (useful for fixing clockwise / counter-clockwise face vertex orders) More... | |
void | setPolygons (const QList< QgsPolygon * > &polygons, const QList< QgsFeatureId > &featureIds, const QgsPointXY &origin, float extrusionHeight, const QList< float > &extrusionHeightPerPolygon=QList< float >()) |
Initializes vertex buffer from given polygons. Takes ownership of passed polygon geometries. More... | |
QgsFeatureId | triangleIndexToFeatureId (uint triangleIndex) const |
Returns ID of the feature to which given triangle index belongs (used for picking). More... | |
3 Class derived from Qt3DRender::QGeometry that represents polygons tessellated into 3D geometry.
Takes a list of polygons as input, internally it does tessellation and writes output to the internal vertex buffer. Optionally it can add "walls" if the extrusion height is non-zero.
Definition at line 42 of file qgstessellatedpolygongeometry.h.
QgsTessellatedPolygonGeometry::QgsTessellatedPolygonGeometry | ( | QNode * | parent = nullptr | ) |
Constructor.
Definition at line 28 of file qgstessellatedpolygongeometry.cpp.
|
inline |
Returns whether also triangles facing the other side will be created.
Useful if input data have inconsistent order of vertices
Definition at line 58 of file qgstessellatedpolygongeometry.h.
|
inline |
Returns whether the normals of triangles will be inverted (useful for fixing clockwise / counter-clockwise face vertex orders)
Definition at line 50 of file qgstessellatedpolygongeometry.h.
|
inline |
Sets whether also triangles facing the other side will be created.
Useful if input data have inconsistent order of vertices
Definition at line 64 of file qgstessellatedpolygongeometry.h.
void QgsTessellatedPolygonGeometry::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.
This is an alternative to setPolygons() - this method does not do any expensive work in the body.
Definition at line 93 of file qgstessellatedpolygongeometry.cpp.
|
inline |
Sets whether the normals of triangles will be inverted (useful for fixing clockwise / counter-clockwise face vertex orders)
Definition at line 52 of file qgstessellatedpolygongeometry.h.
void QgsTessellatedPolygonGeometry::setPolygons | ( | const QList< QgsPolygon * > & | polygons, |
const QList< QgsFeatureId > & | featureIds, | ||
const QgsPointXY & | origin, | ||
float | extrusionHeight, | ||
const QList< float > & | extrusionHeightPerPolygon = QList<float>() |
||
) |
Initializes vertex buffer from given polygons. Takes ownership of passed polygon geometries.
Definition at line 63 of file qgstessellatedpolygongeometry.cpp.
QgsFeatureId QgsTessellatedPolygonGeometry::triangleIndexToFeatureId | ( | uint | triangleIndex | ) | const |
Returns ID of the feature to which given triangle index belongs (used for picking).
In case such triangle index does not match any feature, FID_NULL is returned.
Definition at line 132 of file qgstessellatedpolygongeometry.cpp.