An optical flow driven virtual keyboard.
[vkeyb] / src / matrix.h
1 /* 
2 vkeyb - camera motion detection virtual keyboard
3 Copyright (C) 2012 Eleni Maria Stea <elene.mst@gmail.com>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #ifndef MATRIX_H_
20 #define MATRIX_H_
21
22 class Vector3;
23
24 class Matrix4x4 {
25 public:
26         double matrix[4][4];
27         Matrix4x4();
28         void set_translation(const Vector3 &tr);
29         void set_rotation(const Vector3 &axis, double angle); 
30         void set_scaling(const Vector3 &sc); 
31         void transpose();
32         void print();
33 };
34
35 #endif
36