QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
3 Class derived from Qt3DRender::QGeometry that represents polygons tessellated into 3D geometry. More...
#include <qgstessellatedpolygongeometry.h>
Public Member Functions | |
QgsTessellatedPolygonGeometry (bool _withNormals=true, bool invertNormals=false, bool addBackFaces=false, bool addTextureCoords=false, 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 | setAddTextureCoords (bool add) |
Sets whether the texture coordinates will be generated. 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... | |
Friends | |
class | Qgs3DSceneExporter |
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 44 of file qgstessellatedpolygongeometry.h.
QgsTessellatedPolygonGeometry::QgsTessellatedPolygonGeometry | ( | bool | _withNormals = true , |
bool | invertNormals = false , |
||
bool | addBackFaces = false , |
||
bool | addTextureCoords = false , |
||
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 60 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 52 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 66 of file qgstessellatedpolygongeometry.h.
|
inline |
Sets whether the texture coordinates will be generated.
Definition at line 72 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 112 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 54 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 80 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 153 of file qgstessellatedpolygongeometry.cpp.
|
friend |
Definition at line 90 of file qgstessellatedpolygongeometry.h.