Hummingbird Framework
 All Classes Functions Variables Modules Pages
Camera.h
1 #ifndef HB_CAMERA_H
2 #define HB_CAMERA_H
3 #include <utility>
4 #include "../Core/Transform.h"
5 #include "../Core/Log.h"
6 
7 namespace hb
8 {
13  class Camera
14  {
15  public:
16  Camera();
17  ~Camera();
18  void setPosition(const Vector3d& pos);
19  void setAxisX(const Vector3d& x);
20  void setAxisY(const Vector3d& y);
21  void setAxisZ(const Vector3d& z);
22  void setZNear(double zn);
23  void setZFar(double zf);
24 
25  const Vector3d& getPosition() const;
26  const Vector3d& getAxisX() const;
27  const Vector3d& getAxisY() const;
28  const Vector3d& getAxisZ() const;
29  const Vector3d& getInverseAxisX() const;
30  const Vector3d& getInverseAxisY() const;
31  const Vector3d& getInverseAxisZ() const;
32  double getZNear() const;
33  double getZFar() const;
34  Vector3d ObjectspaceToDrawspace(const Vector3d& v);
35  Vector3d DrawspaceToObjectspace(const Vector3d& v);
36 
37  private:
38  void calculateInverseMatrix();
39  Vector3d m_position, m_x, m_y, m_z;
40  Vector3d m_x_inverse, m_y_inverse, m_z_inverse;
41  double m_zn, m_zf;
42  };
43 }
44 #endif
Definition: Camera.h:13
A 3D vector.
Definition: Vector3d.h:14
Definition: Box2DPlugin.h:6