-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMatrix.hpp
More file actions
31 lines (27 loc) · 772 Bytes
/
Copy pathMatrix.hpp
File metadata and controls
31 lines (27 loc) · 772 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef MATRIX_HPP
# define MATRIX_HPP
# include <string>
# include <sstream>
# include <iostream>
# include <cmath>
# include "Triangle.hpp"
class Matrix
{
public:
Matrix(void);
Matrix(Matrix const & src);
Matrix( double values[4][4] );
virtual ~Matrix( void );
Matrix operator*(Matrix const & rhs) const;
Vertex operator*(Vertex const & vertex) const;
Matrix & operator=(Matrix const & rhs);
Matrix inverse() const;
Vertex transformVertex(Vertex const & vertex) const;
Triangle transformTriangle(Triangle const & triangle) const;
std::string toString() const;
protected:
void _initialize(double const values[4][4]);
double _values[4][4];
};
std::ostream & operator<<(std::ostream & o, Matrix const & rhs);
#endif /* MATRIX_HPP */