Geno3D
A simple 3D visualisation library, using C++/SFML.
 All Classes Functions Variables
Camera.hpp
1 #pragma once
2 
3 #include <eigen3/Eigen/Dense>
4 #include "Transformable.hpp"
5 
6 namespace Geno3D
7 {
11  class Camera : public Transformable {
12  public:
13 
14  Camera();
15  virtual ~Camera() {};
16 
25  virtual Eigen::Matrix3Xf project(const Eigen::Matrix3Xf &points) = 0;
26 
27  void translate(float x, float y, float z) override;
32  void scale(float m) override;
33  void rotate(float x, float y, float z) override;
38  void transform(const Transformation& t) override;
48  void setPosition(float x, float y, float z);
55  Eigen::Vector3f getPosition() { return position; }
65  void setOrientation(float x, float y, float z);
72  Eigen::Vector3f getOrientation() { return orientation; }
86  void setSurface(float x, float y, float z);
93  Eigen::Vector3f getSurface() { return displaySurface; }
94  protected:
96  Eigen::Vector3f position;
98  Eigen::Vector3f orientation;
100  Eigen::Vector3f displaySurface;
101  };
102 }
Eigen::Vector3f getSurface()
Definition: Camera.hpp:93
Definition: Transformation.hpp:12
Eigen::Vector3f getOrientation()
Definition: Camera.hpp:72
Definition: Camera.hpp:11
Eigen::Vector3f position
3D Position of the camera
Definition: Camera.hpp:96
Eigen::Vector3f orientation
3D Orientation of the camera
Definition: Camera.hpp:98
void setSurface(float x, float y, float z)
Definition: Camera.cpp:42
void setPosition(float x, float y, float z)
Definition: Camera.cpp:34
Eigen::Vector3f getPosition()
Definition: Camera.hpp:55
void rotate(float x, float y, float z) override
Definition: Camera.cpp:17
void scale(float m) override
Definition: Camera.cpp:25
void translate(float x, float y, float z) override
Definition: Camera.cpp:12
void setOrientation(float x, float y, float z)
Definition: Camera.cpp:38
void transform(const Transformation &t) override
Definition: Camera.cpp:29
virtual Eigen::Matrix3Xf project(const Eigen::Matrix3Xf &points)=0
Definition: Transformable.hpp:9
Eigen::Vector3f displaySurface
Configuration of the camera's display surface.
Definition: Camera.hpp:100