Molecular Vis
Improving perception of molecular visualization
MoleculeModel.h
1 #pragma once
2 #include "Geometry.h"
3 #include "../Molecule/Molecule.h"
4 
10 class MoleculeModel:public Geometry
11 {
12 public:
20  MoleculeModel(glm::mat4 modelMatrix, std::shared_ptr<Material> material, Molecule& molecule);
21  virtual ~MoleculeModel();
22 
28  virtual void draw(glm::mat4 matrix = glm::mat4(1.0f));
29 private:
30  bool isEmpty = true;
31  //Buffers
32  GLuint vao;
33 
34  GLuint vboPositions;
35  GLuint vboNormals;
36  GLuint vboUV;
37  GLuint vboIndices;
38  GLuint vboInstance;
39 
40  //nrOfVertices
41  int nrOfVertices;
42  int nrOfAtoms;
43 
44  //Matrices
45  glm::mat4 modelMatrix;
46 
47  //Shader and Material stuff like color
48  std::shared_ptr<Material> material;
49  glm::vec3 color;
50 };
51 
Struct for molecule data.
Definition: Molecule.h:36
Base class for Geometry classes.
Definition: Geometry.h:45
virtual void draw(glm::mat4 matrix=glm::mat4(1.0f))
Definition: MoleculeModel.cpp:65
MoleculeModel(glm::mat4 modelMatrix, std::shared_ptr< Material > material, Molecule &molecule)
Definition: MoleculeModel.cpp:5
Class representing the molecule as geometric model.
Definition: MoleculeModel.h:10