QGIS API Documentation
3.12.1-București (121cc00ff0)
|
QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e.g. More...
#include <qgsmeshdataprovider.h>
Public Types | |
enum | DataType { ActiveFlagInteger, ScalarDouble, Vector2DDouble } |
Type of data stored in the block. More... | |
Public Member Functions | |
QgsMeshDataBlock () | |
Constructs an invalid block. More... | |
QgsMeshDataBlock (DataType type, int count) | |
Constructs a new block. More... | |
bool | active (int index) const |
Returns a value for active flag by the index For scalar and vector 2d the behavior is undefined. More... | |
QVector< int > | active () const |
Returns active flag array. More... | |
int | count () const |
Number of items stored in the block. More... | |
bool | isValid () const |
Whether the block is valid. More... | |
void | setActive (const QVector< int > &vals) |
Sets active flag values. More... | |
void | setValid (bool valid) |
Sets block validity. More... | |
void | setValues (const QVector< double > &vals) |
Sets values. More... | |
DataType | type () const |
Type of data stored in the block. More... | |
QgsMeshDatasetValue | value (int index) const |
Returns a value represented by the index For active flag the behavior is undefined. More... | |
QVector< double > | values () const |
Returns buffer to the array with values For vector it is pairs (x1, y1, x2, y2, ... More... | |
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()
Definition at line 162 of file qgsmeshdataprovider.h.
Type of data stored in the block.
Enumerator | |
---|---|
ActiveFlagInteger | Integer boolean flag whether face is active. |
ScalarDouble | Scalar double values. |
Vector2DDouble | Vector double pairs (x1, y1, x2, y2, ... ) |
Definition at line 166 of file qgsmeshdataprovider.h.
QgsMeshDataBlock::QgsMeshDataBlock | ( | ) |
Constructs an invalid block.
Definition at line 243 of file qgsmeshdataprovider.cpp.
QgsMeshDataBlock::QgsMeshDataBlock | ( | QgsMeshDataBlock::DataType | type, |
int | count | ||
) |
Constructs a new block.
Definition at line 248 of file qgsmeshdataprovider.cpp.
bool QgsMeshDataBlock::active | ( | int | index | ) | const |
Returns a value for active flag by the index For scalar and vector 2d the behavior is undefined.
Definition at line 285 of file qgsmeshdataprovider.cpp.
QVector< int > QgsMeshDataBlock::active | ( | ) | const |
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
Definition at line 307 of file qgsmeshdataprovider.cpp.
int QgsMeshDataBlock::count | ( | ) | const |
Number of items stored in the block.
Definition at line 259 of file qgsmeshdataprovider.cpp.
bool QgsMeshDataBlock::isValid | ( | ) | const |
Whether the block is valid.
Definition at line 264 of file qgsmeshdataprovider.cpp.
void QgsMeshDataBlock::setActive | ( | const QVector< int > & | vals | ) |
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 )
vals | value vector with size count() |
For scalar and vector 2d the behavior is undefined
Definition at line 298 of file qgsmeshdataprovider.cpp.
void QgsMeshDataBlock::setValid | ( | bool | valid | ) |
Sets block validity.
Definition at line 329 of file qgsmeshdataprovider.cpp.
void QgsMeshDataBlock::setValues | ( | const QVector< double > & | vals | ) |
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
Definition at line 320 of file qgsmeshdataprovider.cpp.
QgsMeshDataBlock::DataType QgsMeshDataBlock::type | ( | ) | const |
Type of data stored in the block.
Definition at line 254 of file qgsmeshdataprovider.cpp.
QgsMeshDatasetValue QgsMeshDataBlock::value | ( | int | index | ) | const |
Returns a value represented by the index For active flag the behavior is undefined.
Definition at line 269 of file qgsmeshdataprovider.cpp.
QVector< double > QgsMeshDataBlock::values | ( | ) | const |
Returns buffer to the array with values For vector it is pairs (x1, y1, x2, y2, ...
)
Definition at line 313 of file qgsmeshdataprovider.cpp.