Molecule Viewer
 All Classes Functions Variables Enumerations Pages
Loader.hpp
1 #ifndef _LOADER_HPP_
2 #define _LOADER_HPP_
3 
4 #include "common.hpp"
5 #include "Atom.hpp"
6 
7 
9 
10 class Loader {
11 
12 public:
13 
15  Loader();
16 
18  virtual ~Loader();
19 
21 
25  bool LoadMolecule(const std::string absoluePathToFile);
26 
28  GLuint GetVAO() const;
29 
31  int GetAtomNumber() const;
32 
34  float GetBoundingSphere() const;
35 
37 
38  void SetTextureSize(int aoTextureSize);
39 
41 
42  const bool LoadedFirstTime() const;
43 
45 
49  void UpdateColorMode(int colorMode, bool loadingMolecule);
50 
51 
52 
53 private:
54 
56  void GenerateVAO();
57 
59  void initParams();
60 
62  std::vector<Atom *> * _atoms;
63 
65  bool _loaded;
66 
68  double _textureSize;
69 
71 
77  GLuint _vbo[4];
78 
80  GLuint _vao;
81 
83 
84  std::map<std::string,float> _radius;
85 
87 
88  std::map<std::string,glm::vec3> _colors;
89 
91  std::map<std::string,glm::vec3> _chainColors;
92 
94  std::vector<glm::vec3> _availableChainColors;
95 
97  int _numChains;
98 
100  float _bounding_sphere;
101 
103  int _colorMode;
104 
105 };
106 
107 #endif //#ifndef _LOADER_HPP_