MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
ObjectLoader.hpp
Go to the documentation of this file.
1 #ifndef MOBILERT_OBJECTLOADER_HPP
2 #define MOBILERT_OBJECTLOADER_HPP
3 
4 #include "MobileRT/Sampler.hpp"
5 #include "MobileRT/Scene.hpp"
7 #include <functional>
8 #include <unordered_map>
9 #include <memory>
10 #include <string>
11 
12 namespace MobileRT {
16  class ObjectLoader {
17  protected:
21  bool isProcessed_ {false};
22 
26  ::std::int32_t numberTriangles_ {-1};
27 
28  public:
29  explicit ObjectLoader() = default;
30 
31  ObjectLoader(const ObjectLoader &objectLoader) = delete;
32 
33  ObjectLoader(ObjectLoader &&objectLoader) noexcept = delete;
34 
35  virtual ~ObjectLoader();
36 
37  ObjectLoader &operator=(const ObjectLoader &objectLoader) = delete;
38 
39  ObjectLoader &operator=(ObjectLoader &&objectLoader) noexcept = delete;
40 
41  bool isProcessed() const;
42 
50  virtual bool fillScene(Scene *scene,
51  ::std::function<::std::unique_ptr<Sampler>()> lambda,
52  ::std::string filePath,
53  ::std::unordered_map<::std::string, ::MobileRT::Texture> texturesCache) = 0;
54  };
55 }//namespace MobileRT
56 
57 #endif //MOBILERT_OBJECTLOADER_HPP
virtual bool fillScene(Scene *scene, ::std::function<::std::unique_ptr< Sampler >()> lambda, ::std::string filePath, ::std::unordered_map<::std::string, ::MobileRT::Texture > texturesCache)=0
ObjectLoader & operator=(const ObjectLoader &objectLoader)=delete
Definition: Scene.hpp:20
Definition: ObjectLoader.hpp:16
virtual ~ObjectLoader()
Definition: ObjectLoader.cpp:17
::std::int32_t numberTriangles_
Definition: ObjectLoader.hpp:26
bool isProcessed() const
Definition: ObjectLoader.cpp:10
bool isProcessed_
Definition: ObjectLoader.hpp:21
Definition: AABB.cpp:105