FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
MeshOpenCLAccess.hpp
Go to the documentation of this file.
1 #ifndef MESH_OPENCL_ACCESS_HPP_
2 #define MESH_OPENCL_ACCESS_HPP_
3 
4 #include "CL/OpenCL.hpp"
5 #include "FAST/Object.hpp"
6 
7 
8 namespace fast {
9 
10 class Mesh;
11 
12 class FAST_EXPORT MeshOpenCLAccess {
13 public:
14  typedef std::unique_ptr<MeshOpenCLAccess> pointer;
15  MeshOpenCLAccess(cl::Buffer* coordinatesBuffer, cl::Buffer* lineBuffer, cl::Buffer* triangleBuffer, std::shared_ptr<Mesh> mesh);
16  cl::Buffer* getCoordinatesBuffer() const;
17  cl::Buffer* getLineBuffer() const;
18  cl::Buffer* getTriangleBuffer() const;
19  void release();
21 private:
22  MeshOpenCLAccess(const MeshOpenCLAccess& other);
23  MeshOpenCLAccess& operator=(const MeshOpenCLAccess& other);
24  cl::Buffer* mCoordinates;
25  cl::Buffer* mLineBuffer;
26  cl::Buffer* mTriangleBuffer;
27  std::shared_ptr<Mesh> mMesh;
28  bool mIsDeleted;
29 };
30 
31 }
32 
33 #endif
Object.hpp
fast::MeshOpenCLAccess
Definition: MeshOpenCLAccess.hpp:12
fast
Definition: AffineTransformation.hpp:7
fast::MeshOpenCLAccess::pointer
std::unique_ptr< MeshOpenCLAccess > pointer
Definition: MeshOpenCLAccess.hpp:14