Class: QgsMeshDataBlock

QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e.g. face’s active integer flag) scalars (e.g. scalar dataset double values) vectors (e.g. vector dataset doubles x,y values)

data are implicitly shared, so the class can be quickly copied std.numeric_limits<double>.quiet_NaN() represents NODATA value

Data can be accessed all at once with values() (faster) or value by value (slower) with active() or value()

Added in version 3.6.

class qgis.core.QgsMeshDataBlock[source]

Bases: object

__init__()

Constructs an invalid block

__init__(type: QgsMeshDataBlock.DataType, count: int)

Constructs a new block

Parameters:
__init__(a0: QgsMeshDataBlock)
Parameters:

a0 (QgsMeshDataBlock)

ActiveFlagInteger = 0
class DataType

Bases: int

ScalarDouble = 1
Vector2DDouble = 2
active(self, index: int) bool[source]

Returns a value for active flag by the index For scalar and vector 2d the behavior is undefined

active(self) -> List[int] Returns active flag array

Even for active flag valid dataset, the returned array could be empty. This means that the data provider/dataset does not support active flag capability, so all faces are active by default.

For scalar and vector 2d the behavior is undefined

Added in version 3.12.

Parameters:

index (int)

Return type:

bool

count(self) int[source]

Number of items stored in the block

Return type:

int

isValid(self) bool[source]

Whether the block is valid

Return type:

bool

setActive(self, vals: Iterable[int])[source]

Sets active flag values.

If the data provider/datasets does not have active flag capability (== all values are valid), just set block validity by setValid( True )

Parameters:

vals (Iterable[int]) – value vector with size count()

For scalar and vector 2d the behavior is undefined

Added in version 3.12.

setValid(self, valid: bool)[source]

Sets block validity

Parameters:

valid (bool)

setValues(self, vals: Iterable[float])[source]

Sets values

For scalar datasets, it must have size count() For vector datasets, it must have size 2 * count() For active flag the behavior is undefined

Added in version 3.12.

Parameters:

vals (Iterable[float])

type(self) QgsMeshDataBlock.DataType[source]

Type of data stored in the block

Return type:

QgsMeshDataBlock.DataType

value(self, index: int) QgsMeshDatasetValue[source]

Returns a value represented by the index For active flag the behavior is undefined

Parameters:

index (int)

Return type:

QgsMeshDatasetValue

values(self) List[float]

Returns buffer to the array with values For vector it is pairs (x1, y1, x2, y2, … )

Added in version 3.12.

Return type:

List[float]