Program Listing for File ObjLoader.hpp
↰ Return to documentation for file (Src/GraphicsEngineOpenGL/scene/ObjLoader.hpp
)
#pragma once
#include <memory>
#include <stdexcept>
#include "scene/ObjMaterial.hpp"
#include "scene/Vertex.hpp"
class ObjLoader
{
public:
ObjLoader();
void load(std::string modelFile,
std::vector<Vertex> &vertices,
std::vector<unsigned int> &indices,
std::vector<std::string> &texture_list,
std::vector<ObjMaterial> &materials,
std::vector<glm::vec4> &materialIndex);
~ObjLoader();
private:
GLfloat minX = std::numeric_limits<float>::max();
GLfloat maxX = std::numeric_limits<float>::min();
GLfloat minY = std::numeric_limits<float>::max();
GLfloat maxY = std::numeric_limits<float>::min();
GLfloat minZ = std::numeric_limits<float>::max();
GLfloat maxZ = std::numeric_limits<float>::min();
static std::string get_base_dir(const std::string &filepath)
{
if (filepath.find_last_of("/\\") != std::string::npos) return filepath.substr(0, filepath.find_last_of("/\\"));
return "";
}
};