QGIS/python/analysis/raster/qgsrastermatrix.sip

90 lines
2.3 KiB
Plaintext
Raw Normal View History

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
};
2015-07-29 11:52:14 +02:00
/** Takes ownership of data array*/
QgsRasterMatrix();
2014-01-27 09:22:24 +01:00
//! @note note available in python bindings
// QgsRasterMatrix( int nCols, int nRows, float* data, double nodataValue );
QgsRasterMatrix( const QgsRasterMatrix& m );
~QgsRasterMatrix();
2015-07-29 11:52:14 +02:00
/** Returns true if matrix is 1x1 (=scalar number)*/
bool isNumber() const;
double number() const;
2015-07-29 11:52:14 +02:00
/** Returns data array (but not ownership)*/
2014-01-27 09:22:24 +01:00
//! @note not available in python bindings
// double* data();
2015-07-29 11:52:14 +02:00
/** Returns data and ownership. Sets data and nrows, ncols of this matrix to 0*/
2014-01-27 09:22:24 +01:00
//! @note not available in python bindings
// double* takeData();
void setData( int cols, int rows, double* data, double nodataValue );
int nColumns() const;
int nRows() const;
double nodataValue() const;
void setNodataValue( double d );
// QgsRasterMatrix& operator=( const QgsRasterMatrix& m );
2015-07-29 11:52:14 +02:00
/** Adds another matrix to this one*/
bool add( const QgsRasterMatrix& other );
2015-07-29 11:52:14 +02:00
/** 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();
};