16#ifndef QGSTESSELLATOR_H
17#define QGSTESSELLATOR_H
43 QgsTessellator(
double originX,
double originY,
bool addNormals,
bool invertNormals =
false,
bool addBackFaces =
false,
bool noZ =
false,
44 bool addTextureCoords =
false,
int facade = 3,
float textureRotation = 0.0f );
55 QgsTessellator(
const QgsRectangle &bounds,
bool addNormals,
bool invertNormals =
false,
bool addBackFaces =
false,
bool noZ =
false,
56 bool addTextureCoords =
false,
int facade = 3,
float textureRotation = 0.0f );
59 void addPolygon(
const QgsPolygon &polygon,
float extrusionHeight );
66 QVector<float>
data()
const {
return mData; }
69 int dataVerticesCount()
const;
72 int stride()
const {
return mStride; }
77 std::unique_ptr< QgsMultiPolygon > asMultiPolygon() const
SIP_SKIP;
83 float zMinimum()
const {
return mZMin; }
96 QString
error()
const {
return mError; }
102 double mOriginX = 0, mOriginY = 0;
103 bool mAddNormals =
false;
104 bool mInvertNormals =
false;
105 bool mAddBackFaces =
false;
106 bool mAddTextureCoords =
false;
107 QVector<float> mData;
110 int mTessellatedFacade = 3;
111 float mTextureRotation = 0.0f;
114 float mZMin = std::numeric_limits<float>::max();
115 float mZMax = -std::numeric_limits<float>::max();
Multi polygon geometry collection.
A rectangle specified with double values.
Class that takes care of tessellation of polygons into triangles.
QVector< float > data() const
Returns array of triangle vertex data.
int stride() const
Returns size of one vertex entry in bytes.
QString error() const
Returns a descriptive error string if the tessellation failed.
float zMaximum() const
Returns maximal Z value of the data (in world coordinates)