diff options
Diffstat (limited to 'manipulationhandler.h')
-rw-r--r-- | manipulationhandler.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/manipulationhandler.h b/manipulationhandler.h new file mode 100644 index 0000000..78ca1c9 --- /dev/null +++ b/manipulationhandler.h @@ -0,0 +1,37 @@ +#ifndef MANIPULATIONHANDLER_H +#define MANIPULATIONHANDLER_H + +#include <QObject> +#include <armadillo> + +class ManipulationHandler + : public QObject +{ + Q_OBJECT +public: + Q_ENUMS(Technique) + enum Technique { + TECHNIQUE_PLMP, + TECHNIQUE_LAMP, + TECHNIQUE_LSP, + TECHNIQUE_PEKALSKA + }; + + ManipulationHandler(const arma::mat &X, const arma::uvec &cpIndices); + void setTechnique(Technique technique); + +signals: + void cpChanged(const arma::mat &cpY) const; + void rpChanged(const arma::mat &rpY) const; + void mapChanged(const arma::mat &Y) const; + +public slots: + void setCP(const arma::mat &Ys); + +private: + arma::mat m_X, m_Y; + arma::uvec m_cpIndices, m_rpIndices; + Technique m_technique; +}; + +#endif // MANIPULATIONHANDLER_H |