QgsMeshDataBlock class

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 buffer() (faster) or value by value (slower) with active() or value()

Public types

enum DataType { ActiveFlagInteger, ScalarDouble, Vector2DDouble }
Type of data stored in the block.

Constructors, destructors, conversion operators

QgsMeshDataBlock()
Constructs an invalid block.
QgsMeshDataBlock(DataType type, int count)
Constructs a new block.

Public functions

auto active(int index) const -> bool
Returns a value for active flag by the index For scalar and vector 2d the behavior is undefined.
auto buffer() -> void*
Returns internal buffer to the array.
auto constBuffer() const -> const void*
Returns internal buffer to the array for fast values reading.
auto count() const -> int
Number of items stored in the block.
auto isValid() const -> bool
Whether the block is valid.
auto type() const -> DataType
Type of data stored in the block.
auto value(int index) const -> QgsMeshDatasetValue
Returns a value represented by the index For active flag the behavior is undefined.

Enum documentation

enum QgsMeshDataBlock::DataType

Type of data stored in the block.

Enumerators
ActiveFlagInteger

Integer boolean flag whether face is active.

ScalarDouble

Scalar double values.

Vector2DDouble

Vector double pairs (x1, y1, x2, y2, ... )

Function documentation

void* QgsMeshDataBlock::buffer()

Returns internal buffer to the array.

The buffer is already allocated with size: count() * sizeof(int) for ActiveFlagInteger count() * sizeof(double) for ScalarDouble count() * 2 * sizeof(double) for Vector2DDouble

Primary usage of the function is to write/populate data to the block by data provider.

const void* QgsMeshDataBlock::constBuffer() const

Returns internal buffer to the array for fast values reading.

The buffer is allocated with size: count() * sizeof(int) for ActiveFlagInteger count() * sizeof(double) for ScalarDouble count() * 2 * sizeof(double) for Vector2DDouble