FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
VertexBufferObjectAccess.hpp
Go to the documentation of this file.
1 #ifndef VERTEXBUFFEROBJECTACCESS_HPP_
2 #define VERTEXBUFFEROBJECTACCESS_HPP_
3 
4 #if defined(__APPLE__) || defined(__MACOSX)
5 #include <OpenGL/OpenGL.h>
6 #else
7 #if _WIN32
8 #include <windows.h>
9 #include <GL/gl.h>
10 #else
11 #include <GL/gl.h>
12 #endif
13 #endif
14 
15 #include "FAST/Object.hpp"
16 
17 namespace fast {
18 
19 class Mesh;
20 
21 class FAST_EXPORT VertexBufferObjectAccess {
22  public:
23  GLuint* getCoordinateVBO() const;
24  GLuint* getNormalVBO() const;
25  GLuint* getColorVBO() const;
26  GLuint* getLineEBO() const;
27  GLuint* getTriangleEBO() const;
28  bool hasNormalVBO() const;
29  bool hasColorVBO() const;
30  bool hasEBO() const;
32  GLuint coordinateVBO,
33  GLuint normalVBO,
34  GLuint colorVBO,
35  GLuint lineEBO,
36  GLuint triangleEBO,
37  bool useNormalVBO,
38  bool useColorVBO,
39  bool useEBO,
40  std::shared_ptr<Mesh> mesh
41  );
42  void release();
44  typedef std::unique_ptr<VertexBufferObjectAccess> pointer;
45  private:
46  GLuint* mCoordinateVBO, *mNormalVBO, *mColorVBO, *mLineEBO, *mTriangleEBO;
47  bool mUseNormalVBO, mUseColorVBO, mUseEBO;
48  bool mIsDeleted;
49  std::shared_ptr<Mesh> mMesh;
50 };
51 
52 } // end namespace fast
53 
54 
55 
56 #endif /* VERTEXBUFFEROBJECTACCESS_HPP_ */
Object.hpp
fast
Definition: AffineTransformation.hpp:7
fast::VertexBufferObjectAccess::pointer
std::unique_ptr< VertexBufferObjectAccess > pointer
Definition: VertexBufferObjectAccess.hpp:44
fast::VertexBufferObjectAccess
Definition: VertexBufferObjectAccess.hpp:21