QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
|
Class that takes care of tessellation of polygons into triangles. More...
#include <qgstessellator.h>
Public Member Functions | |
QgsTessellator (const QgsRectangle &bounds, bool addNormals, bool invertNormals=false, bool addBackFaces=false, bool noZ=false, bool addTextureCoords=false, int facade=3, float textureRotation=0.0f) | |
Creates tessellator with a specified bounds of input geometry coordinates. More... | |
QgsTessellator (double originX, double originY, bool addNormals, bool invertNormals=false, bool addBackFaces=false, bool noZ=false, bool addTextureCoords=false, int facade=3, float textureRotation=0.0f) | |
Creates tessellator with a specified origin point of the world (in map coordinates) More... | |
void | addPolygon (const QgsPolygon &polygon, float extrusionHeight) |
Tessellates a triangle and adds its vertex entries to the output data array. More... | |
std::unique_ptr< QgsMultiPolygon > | asMultiPolygon () const |
Returns the triangulation as a multipolygon geometry. More... | |
QVector< float > | data () const |
Returns array of triangle vertex data. More... | |
int | dataVerticesCount () const |
Returns the number of vertices stored in the output data array. More... | |
int | stride () const |
Returns size of one vertex entry in bytes. More... | |
float | zMaximum () const |
Returns maximal Z value of the data (in world coordinates) More... | |
float | zMinimum () const |
Returns minimal Z value of the data (in world coordinates) More... | |
Class that takes care of tessellation of polygons into triangles.
It is expected that client code will create the tessellator object, then repeatedly call addPolygon() method that will generate triangles, and finally call data() to get final vertex data.
Optionally provides extrusion by adding triangles that serve as walls when extrusion height is non-zero.
Definition at line 40 of file qgstessellator.h.
QgsTessellator::QgsTessellator | ( | double | originX, |
double | originY, | ||
bool | addNormals, | ||
bool | invertNormals = false , |
||
bool | addBackFaces = false , |
||
bool | noZ = false , |
||
bool | addTextureCoords = false , |
||
int | facade = 3 , |
||
float | textureRotation = 0.0f |
||
) |
Creates tessellator with a specified origin point of the world (in map coordinates)
Definition at line 162 of file qgstessellator.cpp.
QgsTessellator::QgsTessellator | ( | const QgsRectangle & | bounds, |
bool | addNormals, | ||
bool | invertNormals = false , |
||
bool | addBackFaces = false , |
||
bool | noZ = false , |
||
bool | addTextureCoords = false , |
||
int | facade = 3 , |
||
float | textureRotation = 0.0f |
||
) |
Creates tessellator with a specified bounds of input geometry coordinates.
This constructor allows the tessellator to map input coordinates to a desirable range for numerical stability during calculations.
If noZ is true
, then a 2-dimensional tessellation only will be performed and all z coordinates will be ignored.
Definition at line 177 of file qgstessellator.cpp.
void QgsTessellator::addPolygon | ( | const QgsPolygon & | polygon, |
float | extrusionHeight | ||
) |
Tessellates a triangle and adds its vertex entries to the output data array.
Definition at line 467 of file qgstessellator.cpp.
std::unique_ptr< QgsMultiPolygon > QgsTessellator::asMultiPolygon | ( | ) | const |
Returns the triangulation as a multipolygon geometry.
Definition at line 750 of file qgstessellator.cpp.
|
inline |
Returns array of triangle vertex data.
Vertice coordinates are stored as (x, z, -y)
Definition at line 67 of file qgstessellator.h.
int QgsTessellator::dataVerticesCount | ( | ) | const |
Returns the number of vertices stored in the output data array.
Definition at line 745 of file qgstessellator.cpp.
|
inline |
Returns size of one vertex entry in bytes.
Definition at line 73 of file qgstessellator.h.
|
inline |
Returns maximal Z value of the data (in world coordinates)
Definition at line 90 of file qgstessellator.h.
|
inline |
Returns minimal Z value of the data (in world coordinates)
Definition at line 84 of file qgstessellator.h.