mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
90 lines
2.3 KiB
Plaintext
90 lines
2.3 KiB
Plaintext
class QgsRasterMatrix
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsrastermatrix.h>
|
|
%End
|
|
|
|
public:
|
|
|
|
enum TwoArgOperator
|
|
{
|
|
opPLUS,
|
|
opMINUS,
|
|
opMUL,
|
|
opDIV,
|
|
opPOW,
|
|
opEQ, // =
|
|
opNE, // != resp. <>
|
|
opGT, // >
|
|
opLT, // <
|
|
opGE, // >=
|
|
opLE, // <=
|
|
opAND,
|
|
opOR
|
|
};
|
|
|
|
enum OneArgOperator
|
|
{
|
|
opSQRT,
|
|
opSIN,
|
|
opCOS,
|
|
opTAN,
|
|
opASIN,
|
|
opACOS,
|
|
opATAN,
|
|
opSIGN
|
|
};
|
|
|
|
/**Takes ownership of data array*/
|
|
QgsRasterMatrix();
|
|
//! @note note available in python bindings
|
|
// QgsRasterMatrix( int nCols, int nRows, float* data, double nodataValue );
|
|
QgsRasterMatrix( const QgsRasterMatrix& m );
|
|
~QgsRasterMatrix();
|
|
|
|
/**Returns true if matrix is 1x1 (=scalar number)*/
|
|
bool isNumber() const;
|
|
double number() const;
|
|
|
|
/**Returns data array (but not ownership)*/
|
|
//! @note not available in python bindings
|
|
// float* data();
|
|
/**Returns data and ownership. Sets data and nrows, ncols of this matrix to 0*/
|
|
//! @note not available in python bindings
|
|
// float* takeData();
|
|
|
|
void setData( int cols, int rows, float* data, double nodataValue );
|
|
|
|
int nColumns() const;
|
|
int nRows() const;
|
|
|
|
double nodataValue() const;
|
|
void setNodataValue( double d );
|
|
|
|
// QgsRasterMatrix& operator=( const QgsRasterMatrix& m );
|
|
/**Adds another matrix to this one*/
|
|
bool add( const QgsRasterMatrix& other );
|
|
/**Subtracts another matrix from this one*/
|
|
bool subtract( const QgsRasterMatrix& other );
|
|
bool multiply( const QgsRasterMatrix& other );
|
|
bool divide( const QgsRasterMatrix& other );
|
|
bool power( const QgsRasterMatrix& other );
|
|
bool equal( const QgsRasterMatrix& other );
|
|
bool notEqual( const QgsRasterMatrix& other );
|
|
bool greaterThan( const QgsRasterMatrix& other );
|
|
bool lesserThan( const QgsRasterMatrix& other );
|
|
bool greaterEqual( const QgsRasterMatrix& other );
|
|
bool lesserEqual( const QgsRasterMatrix& other );
|
|
bool logicalAnd( const QgsRasterMatrix& other );
|
|
bool logicalOr( const QgsRasterMatrix& other );
|
|
|
|
bool squareRoot();
|
|
bool sinus();
|
|
bool asinus();
|
|
bool cosinus();
|
|
bool acosinus();
|
|
bool tangens();
|
|
bool atangens();
|
|
bool changeSign();
|
|
};
|