The small3d library
File.hpp
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <string>
13 #include <vector>
14 
15 namespace small3d {
16 
17  class Model;
18 
23  class File {
24  private:
25  File(); // No default constructor
26 
27  // Forbid moving and copying
28  File(File const&) = delete;
29  void operator=(File const&) = delete;
30  File(File&&) = delete;
31  void operator=(File&&) = delete;
32 
33  protected:
37  std::string fullPath = "";
38 
39  public:
44  explicit File(const std::string& fileLocation);
45 
51  virtual void load(Model& model, const std::string& meshName) = 0;
52 
58  virtual std::vector<std::string> getMeshNames() = 0;
59 
60  };
61 }
small3d::File::load
virtual void load(Model &model, const std::string &meshName)=0
Load data from the file into a Model.
small3d::Model
A 3D model. It can be loaded from a WavefrontFile or GlbFile. It can also be constructed procedurally...
Definition: Model.hpp:34
small3d
Definition: BinaryFile.hpp:15
small3d::File::getMeshNames
virtual std::vector< std::string > getMeshNames()=0
Get a list of the names of the meshes contained in the file.
small3d::File
Abstract file parser class.
Definition: File.hpp:23
small3d::File::fullPath
std::string fullPath
The path to the file being parsed.
Definition: File.hpp:37