Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Image_GL_Cuda / INC / gpu / ImageMOOs_A_GPU.h
1 #ifndef IMAGE_CUDA_MOOS_A_H
2 #define IMAGE_CUDA_MOOS_A_H
3
4 #include "builtin_types.h" //for cuda uchar4
5
6 #include "envGLImageCudas.h"
7 #include "ImageMOOs_I.h"
8
9 /*----------------------------------------------------------------------*\
10 |* Declaration *|
11 \*---------------------------------------------------------------------*/
12
13 /*--------------------------------------*\
14 |* Public *|
15 \*-------------------------------------*/
16
17 namespace gpu
18 {
19 class CBI_GLIMAGE_CUDA ImageMOOs_A: public ImageMOOs_I
20 {
21 public:
22
23 /*--------------------------------------*\
24 |* Constructor *|
25 \*-------------------------------------*/
26
27 ImageMOOs_A(unsigned int w, unsigned int h);
28
29 /*--------------------------------------*\
30 |* Destructor *|
31 \*-------------------------------------*/
32
33 virtual ~ImageMOOs_A();
34
35 /*--------------------------------------*\
36 |* Methodes *|
37 \*-------------------------------------*/
38
39 public:
40
41 virtual void fillImageGL(uchar4* ptrDevImageGL, int w, int h)=0; //ptrDevImageGL zone memoire commune OpenGL et Cuda
42
43 /**
44 * Override
45 * A redefinir par l'utilisateur
46 */
47 virtual void animationStep(bool& isNeedUpdateView);
48
49 /**
50 * Override
51 * A redefinir par l'utilisateur
52 */
53 virtual void paintPrimitives(Graphic2Ds& ptrGraphic2D);
54
55 /*--------------------------------------*\
56 |* Get *|
57 \*-------------------------------------*/
58
59 public:
60
61 /**
62 * Recuperation des pixels de l'image coter CPU
63 * call fillImageGL
64 *
65 * Instanciation :
66 *
67 * unsigned char* ptrTabPixel=new unsigned char[w*h]
68 *
69 * Pour liberer la memoire :
70 *
71 * delete[] ptrTabPixel;
72 */
73 unsigned char* getPtrTabPixels();
74 };
75 }
76
77 #endif
78
79 /*----------------------------------------------------------------------*\
80 |* End *|
81 \*---------------------------------------------------------------------*/