Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Image_GL_Cuda / INC / gpu / ImageMOOs_A_GPU.h
diff --git a/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/ImageMOOs_A_GPU.h b/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/ImageMOOs_A_GPU.h
new file mode 100755 (executable)
index 0000000..d97ee1d
--- /dev/null
@@ -0,0 +1,81 @@
+#ifndef IMAGE_CUDA_MOOS_A_H\r
+#define IMAGE_CUDA_MOOS_A_H\r
+\r
+#include "builtin_types.h" //for cuda uchar4\r
+\r
+#include "envGLImageCudas.h"\r
+#include "ImageMOOs_I.h"\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+namespace gpu\r
+    {\r
+    class CBI_GLIMAGE_CUDA ImageMOOs_A: public ImageMOOs_I\r
+       {\r
+       public:\r
+\r
+           /*--------------------------------------*\\r
+            |*         Constructor                 *|\r
+            \*-------------------------------------*/\r
+\r
+           ImageMOOs_A(unsigned int w, unsigned int h);\r
+\r
+           /*--------------------------------------*\\r
+            |*         Destructor                  *|\r
+            \*-------------------------------------*/\r
+\r
+           virtual ~ImageMOOs_A();\r
+\r
+           /*--------------------------------------*\\r
+            |*         Methodes                    *|\r
+            \*-------------------------------------*/\r
+\r
+       public:\r
+\r
+           virtual void fillImageGL(uchar4* ptrDevImageGL, int w, int h)=0; //ptrDevImageGL zone memoire commune OpenGL et Cuda\r
+\r
+           /**\r
+            * Override\r
+            * A redefinir par l'utilisateur\r
+            */\r
+           virtual void animationStep(bool& isNeedUpdateView);\r
+\r
+           /**\r
+            * Override\r
+            * A redefinir par l'utilisateur\r
+            */\r
+           virtual void paintPrimitives(Graphic2Ds& ptrGraphic2D);\r
+\r
+           /*--------------------------------------*\\r
+            |*         Get                         *|\r
+            \*-------------------------------------*/\r
+\r
+       public:\r
+\r
+           /**\r
+            * Recuperation des pixels de l'image coter CPU\r
+            * call fillImageGL\r
+            *\r
+            * Instanciation :\r
+            *\r
+            *  unsigned char* ptrTabPixel=new unsigned char[w*h]\r
+            *\r
+            * Pour liberer la memoire :\r
+            *\r
+            *  delete[] ptrTabPixel;\r
+            */\r
+           unsigned char* getPtrTabPixels();\r
+       };\r
+    }\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r