-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCamera.hpp
More file actions
45 lines (38 loc) · 1.14 KB
/
Copy pathCamera.hpp
File metadata and controls
45 lines (38 loc) · 1.14 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef CAMERA_HPP
# define CAMERA_HPP
# include "ProjectionMatrix.hpp"
# include "TranslationMatrix.hpp"
# include "Matrix.hpp"
# include "Vertex.hpp"
# include "Vector.hpp"
# include "Triangle.hpp"
class Camera
{
public:
Camera(Vertex const & origin, Matrix const & direction, double far, double near,
double height, double width, double fov );
Camera(Camera const & src );
~Camera( void );
void setOrigin(Vertex const & vtx);
void setDirection(Matrix const & mtx);
Vertex getOrigin(void) const;
Matrix getDirection(void) const;
Matrix getProjection(void) const;
Vertex watchVertex(Vertex vertex);
Triangle watchtriangle(Triangle tri);
Camera & operator=( Camera const & rhs );
private:
Camera( void );
Matrix _initializeView(Vector const & origin, Matrix const & direction);
Matrix _initializeProjection(double const fov, double const width,
double const height, double const near, double const far);
Vertex _origin;
Matrix _direction;
double _far;
double _near;
double _height;
double _width;
Matrix _viewMatrix;
Matrix _projection;
};
#endif /* CAMERA_HPP */