QgsMeshDataBlock class
QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e.g.
Contents
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