ModelViewer 0.1
Template for CPP projects
Loading...
Searching...
No Matches
ILoader.hpp
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2025
3** ILoader.hpp
4** File description:
5** ILoader.hpp
6*/
7
8#ifndef MODELVIEWER_ILOADER_HPP
9#define MODELVIEWER_ILOADER_HPP
10
11#include <QQuick3DGeometry>
12
13#include "Material/Material.hpp"
14
15namespace model_viewer::loaders {
16
20class ILoader {
21 public:
23 virtual ~ILoader() = default;
24
30 virtual bool loadModel(const std::string &filepath) = 0;
31
36 virtual QQuick3DGeometry *geometry() const = 0;
37
42 virtual material::MTLMaterial *material() const = 0;
43};
44
45} // namespace model_viewer::loaders
46
47#endif // MODELVIEWER_ILOADER_HPP
Interface for model loaders.
Definition ILoader.hpp:20
virtual material::MTLMaterial * material() const =0
Get the material of the loaded model.
virtual ~ILoader()=default
Virtual destructor.
virtual bool loadModel(const std::string &filepath)=0
Load a model from a file.
virtual QQuick3DGeometry * geometry() const =0
Get the geometry of the loaded model.
Class representing a material parsed from an MTL file.
Definition Material.hpp:29
Definition ObjLoader.cpp:12