Class: QgsTessellator

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.

Methods

addPolygon

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

data

Returns array of triangle vertex data

dataVerticesCount

Returns the number of vertices stored in the output data array

error

Returns a descriptive error string if the tessellation failed.

isOutputZUp

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

setOutputZUp

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

stride

Returns size of one vertex entry in bytes

zMaximum

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

zMinimum

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

class qgis.core.QgsTessellator[source]

Bases: object

__init__(originX: float, originY: float, addNormals: bool, invertNormals: bool = False, addBackFaces: bool = False, noZ: bool = False, addTextureCoords: bool = False, facade: int = 3, textureRotation: float = 0)

Creates tessellator with a specified origin point of the world (in map coordinates)

Parameters:
  • originX (float)

  • originY (float)

  • addNormals (bool)

  • invertNormals (bool = False)

  • addBackFaces (bool = False)

  • noZ (bool = False)

  • addTextureCoords (bool = False)

  • facade (int = 3)

  • textureRotation (float = 0)

__init__(bounds: QgsRectangle, addNormals: bool, invertNormals: bool = False, addBackFaces: bool = False, noZ: bool = False, addTextureCoords: bool = False, facade: int = 3, textureRotation: float = 0)

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.

Added in version 3.10.

Parameters:
  • bounds (QgsRectangle)

  • addNormals (bool)

  • invertNormals (bool = False)

  • addBackFaces (bool = False)

  • noZ (bool = False)

  • addTextureCoords (bool = False)

  • facade (int = 3)

  • textureRotation (float = 0)

__init__(a0: QgsTessellator)
Parameters:

a0 (QgsTessellator)

addPolygon(self, polygon: QgsPolygon, extrusionHeight: float)[source]

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

Parameters:
data(self) List[float]

Returns array of triangle vertex data

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

Return type:

List[float]

dataVerticesCount(self) int[source]

Returns the number of vertices stored in the output data array

Return type:

int

error(self) str[source]

Returns a descriptive error string if the tessellation failed.

Added in version 3.34.

Return type:

str

isOutputZUp(self) bool[source]

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

Added in version 3.42.

Return type:

bool

setOutputZUp(self, zUp: bool)[source]

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

Added in version 3.42.

Parameters:

zUp (bool)

stride(self) int[source]

Returns size of one vertex entry in bytes

Return type:

int

zMaximum(self) float[source]

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

Added in version 3.12.

Return type:

float

zMinimum(self) float[source]

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

Added in version 3.12.

Return type:

float