Geno3D
A simple 3D visualisation library, using C++/SFML.
 All Classes Functions Variables
ObjScene.hpp
1 #pragma once
2 
3 #include <string>
4 #include <SFML/Graphics.hpp>
5 #include <eigen3/Eigen/Dense>
6 #include <vector>
7 #include "Scene.hpp"
8 #include "Object.hpp"
9 #include "Camera.hpp"
10 #include "Light.hpp"
11 
12 namespace Geno3D
13 {
17  class ObjScene : public Scene {
18  public:
26  ObjScene(std::string filename, float posy, float posz, std::string tex);
33  ObjScene(std::string filename, float posy, float posz);
34  void init(sf::RenderWindow *window, sf::Vector2i dims) override;
41  void draw(float in) override;
42  void update(float dt) override;
43  void handleInput() override;
44  ~ObjScene() {}
45  private:
47  sf::RenderWindow *window;
51  std::shared_ptr<Camera> camera;
53  std::vector<std::unique_ptr<Light>> lights;
55  sf::Vector2i windowSize;
56  };
57 }
void update(float dt) override
Definition: ObjScene.cpp:45
ObjScene(std::string filename, float posy, float posz, std::string tex)
Definition: ObjScene.cpp:12
void draw(float in) override
Definition: ObjScene.cpp:49
void handleInput() override
Definition: ObjScene.cpp:36
Definition: ObjScene.hpp:17
Definition: Object.hpp:19
std::vector< std::unique_ptr< Light > > lights
The lights used in the scene.
Definition: ObjScene.hpp:53
sf::RenderWindow * window
The viewport window.
Definition: ObjScene.hpp:47
sf::Vector2i windowSize
The dimensions of the window.
Definition: ObjScene.hpp:55
Object object
The mesh object to render.
Definition: ObjScene.hpp:49
std::shared_ptr< Camera > camera
The camera used to render.
Definition: ObjScene.hpp:51
void init(sf::RenderWindow *window, sf::Vector2i dims) override
Definition: ObjScene.cpp:28
Definition: Scene.hpp:11