1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-03-19 04:57:46 +01:00
GPXSee/src/map/matrix.h

36 lines
698 B
C
Raw Normal View History

#ifndef MATRIX_H
#define MATRIX_H
#include <cstddef>
#include <cfloat>
#include <QVector>
2017-08-14 11:16:48 +02:00
#include <QDebug>
2018-03-08 02:24:10 +01:00
class Matrix
{
public:
Matrix() {_h = 0; _w = 0;}
Matrix(size_t h, size_t w);
size_t h() const {return _h;}
size_t w() const {return _w;}
double &m(size_t i, size_t j) {return _m[_w * i + j];}
double const &m(size_t i, size_t j) const {return _m.at(_w * i + j);}
bool isNull() const {return (_h == 0 || _w == 0);}
bool eliminate(double epsilon = DBL_EPSILON);
Matrix augemented(const Matrix &M) const;
private:
QVector<double> _m;
size_t _h;
size_t _w;
};
#ifndef QT_NO_DEBUG
2017-08-14 11:16:48 +02:00
QDebug operator<<(QDebug dbg, const Matrix &matrix);
#endif // QT_NO_DEBUG
2017-08-14 11:16:48 +02:00
#endif // MATRIX_H