QGIS/python/core/auto_generated/qgstessellator.sip.in
Martin Dobias 9009971c88 Improve handling of vertical ranges
So far we used a fixed vertical range for 3D bounding boxes with range [0, 500]
This of course would not work well if Z values are outside of this range
(e.g. tiles may not show at all or get pruned prematurely)

The approach now is to start with an estimate of the vertical range based
on few features from the source vector layer and then once our tile is completely
loaded, update the 3D bounding box to better represent the actual 3D extent.
2020-01-12 16:22:20 +01:00

92 lines
3.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgstessellator.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsTessellator
{
%Docstring
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.
.. versionadded:: 3.4
%End
%TypeHeaderCode
#include "qgstessellator.h"
%End
public:
QgsTessellator( double originX, double originY, bool addNormals, bool invertNormals = false, bool addBackFaces = false );
%Docstring
Creates tessellator with a specified origin point of the world (in map coordinates)
%End
QgsTessellator( const QgsRectangle &bounds, bool addNormals, bool invertNormals = false, bool addBackFaces = false, bool noZ = false );
%Docstring
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.
.. versionadded:: 3.10
%End
void addPolygon( const QgsPolygon &polygon, float extrusionHeight );
%Docstring
Tessellates a triangle and adds its vertex entries to the output data array
%End
QVector<float> data() const;
%Docstring
Returns array of triangle vertex data
Vertice coordinates are stored as (x, z, -y)
%End
int dataVerticesCount() const;
%Docstring
Returns the number of vertices stored in the output data array
%End
int stride() const;
%Docstring
Returns size of one vertex entry in bytes
%End
float zMinimum() const;
%Docstring
Returns minimal Z value of the data (in world coordinates)
.. versionadded:: 3.12
%End
float zMaximum() const;
%Docstring
Returns maximal Z value of the data (in world coordinates)
.. versionadded:: 3.12
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgstessellator.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/