Program Listing for File Model.hpp
↰ Return to documentation for file (engine/include/Cacao/Model.hpp
)
#pragma once
#include "DllHelper.hpp"
#include "Resource.hpp"
#include "Tex2D.hpp"
#include "Mesh.hpp"
namespace Cacao {
class CACAO_API Model : public Resource {
public:
static std::shared_ptr<Model> Create(std::vector<unsigned char>&& modelBin, const std::string& addr) {
return std::shared_ptr<Model>(new Model(std::move(modelBin), addr));
}
const std::vector<std::string> ListMeshes();
const std::vector<std::string> ListTextures();
std::shared_ptr<Mesh> GetMesh(const std::string& id);
std::shared_ptr<Tex2D> GetTexture(const std::string& id);
struct Impl;
~Model();
private:
Model(std::vector<unsigned char>&& modelBin, const std::string& addr);
friend class ResourceManager;
std::unique_ptr<Impl> impl;
friend class ImplAccessor;
};
}