aboutsummaryrefslogtreecommitdiff
path: root/manipulationhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'manipulationhandler.h')
-rw-r--r--manipulationhandler.h37
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