FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
OpenCLImageAccess.hpp
Go to the documentation of this file.
1 #ifndef OPENCLIMAGEACCESS_HPP_
2 #define OPENCLIMAGEACCESS_HPP_
3 
4 #include "CL/OpenCL.hpp"
5 #include "Access.hpp"
6 #include "FAST/Object.hpp"
7 
8 
9 namespace fast {
10 
11 class Image;
12 class OpenCLDevice;
13 
14 class FAST_EXPORT OpenCLImageAccess {
15  public:
16  cl::Image* get() const;
17  cl::Image2D* get2DImage() const;
18  cl::Image3D* get3DImage() const;
19  OpenCLImageAccess(cl::Image2D* image, std::shared_ptr<Image> object);
20  OpenCLImageAccess(cl::Image3D* image, std::shared_ptr<Image> object);
21  void release();
23  typedef std::unique_ptr<OpenCLImageAccess> pointer;
24  private:
26  OpenCLImageAccess& operator=(const OpenCLImageAccess& other);
27  cl::Image* mImage;
28  bool mIsDeleted;
29  std::shared_ptr<Image> mImageObject;
30 
31 };
32 
33 } // end namespace fast
34 
35 
36 
37 #endif /* OPENCLIMAGEACCESS3D_HPP_ */
Object.hpp
fast
Definition: AffineTransformation.hpp:7
fast::OpenCLImageAccess
Definition: OpenCLImageAccess.hpp:14
Access.hpp
fast::OpenCLImageAccess::pointer
std::unique_ptr< OpenCLImageAccess > pointer
Definition: OpenCLImageAccess.hpp:23