QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
QgsTessellator Class Reference

Tessellates polygons into triangles. More...

#include <qgstessellator.h>

Public Member Functions

 QgsTessellator ()
Q_DECL_DEPRECATED 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.
Q_DECL_DEPRECATED 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).
void addPolygon (const QgsPolygon &polygon, float extrusionHeight)
 Tessellates a triangle and adds its vertex entries to the output data array.
std::unique_ptr< QgsMultiPolygonasMultiPolygon () const
 Returns the triangulation as a multipolygon geometry.
QVector< float > data () const
 Returns array of triangle vertex data.
int dataVerticesCount () const
 Returns the number of vertices stored in the output data array.
QString error () const
 Returns a descriptive error string if the tessellation failed.
Qgis::ExtrusionFaces extrusionFaces () const
 Returns which faces are generated during extrusion.
bool hasBackFacesEnabled () const
 Returns whether back faces are being added to the output data (true) or not (false).
bool hasInvertedNormals () const
 Returns whether normals are inverted (true) or not (false).
bool hasNormals () const
 Returns whether normals are being added to the output data (true) or not (false).
bool hasTextureUVs () const
 Returns whether texture UV coordinates are being added to the output data (true) or not (false).
bool isOutputZUp () const
 Returns whether the "up" direction should be the Z axis on output (true), otherwise the "up" direction will be the Y axis (false).
bool isZValueIgnored () const
 Returns whether Z values from the input geometries are ignored (true) or not (false).
QgsVector3D origin () const
 Returns the origin point of the map.
void setAddNormals (bool addNormals)
 Sets whether normals should be added to the output data (true) or not (false).
void setAddTextureUVs (bool addTextureUVs)
 Sets whether texture UV coordinates should be added to the output data (true) or not (false).
void setBackFacesEnabled (bool addBackFaces)
 Sets whether back faces should be added to the output data (true) or not (false).
void setBounds (const QgsRectangle &bounds)
 Sets scaling and the bounds of the input geometry coordinates.
void setExtrusionFaces (Qgis::ExtrusionFaces faces)
 Sets which faces should be generated during extrusion.
void setInputZValueIgnored (bool ignore)
 Sets whether Z values from the input geometries are ignored (true) or not (false).
void setInvertNormals (bool invertNormals)
 Sets whether normals should be inverted (true) or not (false).
void setOrigin (const QgsVector3D &origin)
 Sets the origin point of the map.
void setOutputZUp (bool zUp)
 Sets whether the "up" direction should be the Z axis on output (true), otherwise the "up" direction will be the Y axis (false).
void setTextureRotation (float rotation)
 Sets the rotation of texture UV coordinates (in degrees).
int stride () const
 Returns size of one vertex entry in bytes.
float textureRotation () const
 Returns the rotation of texture UV coordinates (in degrees).
float zMaximum () const
 Returns maximal Z value of the data (in world coordinates).
float zMinimum () const
 Returns minimal Z value of the data (in world coordinates).

Detailed Description

Tessellates 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 39 of file qgstessellator.h.

Constructor & Destructor Documentation

◆ QgsTessellator() [1/3]

QgsTessellator::QgsTessellator ( )
default

◆ QgsTessellator() [2/3]

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).

Deprecated
QGIS 4.0. Use the default QgsTessellator() constructor and individual setters instead.

Definition at line 182 of file qgstessellator.cpp.

◆ QgsTessellator() [3/3]

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.

Since
QGIS 3.10
Deprecated
QGIS 4.0. Use the default QgsTessellator() constructor and individual setters instead.

Definition at line 195 of file qgstessellator.cpp.

Member Function Documentation

◆ addPolygon()

void QgsTessellator::addPolygon ( const QgsPolygon & polygon,
float extrusionHeight )

Tessellates a triangle and adds its vertex entries to the output data array.

Definition at line 669 of file qgstessellator.cpp.

◆ asMultiPolygon()

std::unique_ptr< QgsMultiPolygon > QgsTessellator::asMultiPolygon ( ) const

Returns the triangulation as a multipolygon geometry.

Definition at line 816 of file qgstessellator.cpp.

◆ data()

QVector< float > QgsTessellator::data ( ) const
inline

Returns array of triangle vertex data.

Vertice coordinates are stored as (x, z, -y)

Definition at line 191 of file qgstessellator.h.

◆ dataVerticesCount()

int QgsTessellator::dataVerticesCount ( ) const

Returns the number of vertices stored in the output data array.

Definition at line 808 of file qgstessellator.cpp.

◆ error()

QString QgsTessellator::error ( ) const
inline

Returns a descriptive error string if the tessellation failed.

Since
QGIS 3.34

Definition at line 221 of file qgstessellator.h.

◆ extrusionFaces()

Qgis::ExtrusionFaces QgsTessellator::extrusionFaces ( ) const
inline

Returns which faces are generated during extrusion.

Since
QGIS 4.0

Definition at line 105 of file qgstessellator.h.

◆ hasBackFacesEnabled()

bool QgsTessellator::hasBackFacesEnabled ( ) const
inline

Returns whether back faces are being added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 153 of file qgstessellator.h.

◆ hasInvertedNormals()

bool QgsTessellator::hasInvertedNormals ( ) const
inline

Returns whether normals are inverted (true) or not (false).

Since
QGIS 4.0

Definition at line 165 of file qgstessellator.h.

◆ hasNormals()

bool QgsTessellator::hasNormals ( ) const
inline

Returns whether normals are being added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 141 of file qgstessellator.h.

◆ hasTextureUVs()

bool QgsTessellator::hasTextureUVs ( ) const
inline

Returns whether texture UV coordinates are being added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 129 of file qgstessellator.h.

◆ isOutputZUp()

bool QgsTessellator::isOutputZUp ( ) const
inline

Returns whether the "up" direction should be the Z axis on output (true), otherwise the "up" direction will be the Y axis (false).

The default value is false (to keep compatibility for existing tessellator use cases).

Since
QGIS 3.42

Definition at line 181 of file qgstessellator.h.

◆ isZValueIgnored()

bool QgsTessellator::isZValueIgnored ( ) const
inline

Returns whether Z values from the input geometries are ignored (true) or not (false).

Since
QGIS 4.0

Definition at line 93 of file qgstessellator.h.

◆ origin()

QgsVector3D QgsTessellator::origin ( ) const
inline

Returns the origin point of the map.

Since
QGIS 4.0

Definition at line 74 of file qgstessellator.h.

◆ setAddNormals()

void QgsTessellator::setAddNormals ( bool addNormals)

Sets whether normals should be added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 268 of file qgstessellator.cpp.

◆ setAddTextureUVs()

void QgsTessellator::setAddTextureUVs ( bool addTextureUVs)

Sets whether texture UV coordinates should be added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 274 of file qgstessellator.cpp.

◆ setBackFacesEnabled()

void QgsTessellator::setBackFacesEnabled ( bool addBackFaces)

Sets whether back faces should be added to the output data (true) or not (false).

Since
QGIS 4.0

Definition at line 258 of file qgstessellator.cpp.

◆ setBounds()

void QgsTessellator::setBounds ( const QgsRectangle & bounds)

Sets scaling and the bounds of the input geometry coordinates.

Since
QGIS 4.0

Definition at line 213 of file qgstessellator.cpp.

◆ setExtrusionFaces()

void QgsTessellator::setExtrusionFaces ( Qgis::ExtrusionFaces faces)

Sets which faces should be generated during extrusion.

Since
QGIS 4.0

Definition at line 224 of file qgstessellator.cpp.

◆ setInputZValueIgnored()

void QgsTessellator::setInputZValueIgnored ( bool ignore)

Sets whether Z values from the input geometries are ignored (true) or not (false).

By default, this is false.

Since
QGIS 4.0

Definition at line 219 of file qgstessellator.cpp.

◆ setInvertNormals()

void QgsTessellator::setInvertNormals ( bool invertNormals)

Sets whether normals should be inverted (true) or not (false).

Since
QGIS 4.0

Definition at line 263 of file qgstessellator.cpp.

◆ setOrigin()

void QgsTessellator::setOrigin ( const QgsVector3D & origin)

Sets the origin point of the map.

Since
QGIS 4.0

Definition at line 208 of file qgstessellator.cpp.

◆ setOutputZUp()

void QgsTessellator::setOutputZUp ( bool zUp)
inline

Sets whether the "up" direction should be the Z axis on output (true), otherwise the "up" direction will be the Y axis (false).

The default value is false (to keep compatibility for existing tessellator use cases).

Since
QGIS 3.42

Definition at line 173 of file qgstessellator.h.

◆ setTextureRotation()

void QgsTessellator::setTextureRotation ( float rotation)

Sets the rotation of texture UV coordinates (in degrees).

Since
QGIS 4.0

Definition at line 253 of file qgstessellator.cpp.

◆ stride()

int QgsTessellator::stride ( ) const
inline

Returns size of one vertex entry in bytes.

Definition at line 197 of file qgstessellator.h.

◆ textureRotation()

float QgsTessellator::textureRotation ( ) const
inline

Returns the rotation of texture UV coordinates (in degrees).

Since
QGIS 4.0

Definition at line 117 of file qgstessellator.h.

◆ zMaximum()

float QgsTessellator::zMaximum ( ) const
inline

Returns maximal Z value of the data (in world coordinates).

Since
QGIS 3.12

Definition at line 214 of file qgstessellator.h.

◆ zMinimum()

float QgsTessellator::zMinimum ( ) const
inline

Returns minimal Z value of the data (in world coordinates).

Since
QGIS 3.12

Definition at line 208 of file qgstessellator.h.


The documentation for this class was generated from the following files: