Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image_Cuda / src / cpp / core / mainGL.cpp
diff --git a/WCudaMSE/Tuto_Image_Cuda/src/cpp/core/mainGL.cpp b/WCudaMSE/Tuto_Image_Cuda/src/cpp/core/mainGL.cpp
new file mode 100755 (executable)
index 0000000..a103aa8
--- /dev/null
@@ -0,0 +1,100 @@
+#include <iostream>\r
+#include <stdlib.h>\r
+#include <string.h>\r
+\r
+#include "GLUTImageViewers_GPU.h"\r
+\r
+\r
+#include "Device.h"\r
+#include "cudaTools.h"\r
+\r
+#include "Vague0Provider.h"\r
+#include "VagueProvider.h"\r
+#include "DamierProvider.h"\r
+#include "EventProvider.h"\r
+#include "MyDisplayableProvider.h"\r
+#include "MyGLUTWindow.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+using std::string;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Imported                *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+int mainGL(void);\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Implementation                                  *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+int mainGL(void)\r
+    {\r
+    Vague0Image* ptrVague0=Vague0Provider::createGL(); //bad technique\r
+\r
+    Image* ptrVague=VagueProvider::createGL();\r
+    ImageFonctionel* ptrDamier=DamierProvider::createGL();\r
+    ImageFonctionel* ptrEvent=EventProvider::createGL();\r
+    Displayable_A* ptrMyDisplayable=MyDisplayableProvider::createGL();\r
+\r
+    bool isAnimation = true;\r
+    bool isSelection = true;\r
+\r
+    // ImageViewer\r
+    GLUTImageViewers vague0Viewer(ptrVague0, isAnimation, false, 0, 0);\r
+    GLUTImageViewers vagueViewer(ptrVague, isAnimation, false, 25,25);\r
+    GLUTImageViewers damierlViewer(ptrDamier, isAnimation, isSelection, 50, 50);\r
+    GLUTImageViewers eventViewer(ptrEvent, isAnimation, isSelection, 75, 75);\r
+    // Insert here other ImageViewer ...\r
+\r
+    // OpenGLViewer\r
+    MyGLUTWindow myGlutWindow(ptrMyDisplayable,"Triangle OpenGL, Custom Displayable",600,600,100,100);// scene OpenGL // (w,h,px,py)\r
+\r
+    GLUTImageViewers::runALL(); // Bloquant, Tant qu'une fenetre est ouverte\r
+\r
+    // destruction\r
+       {\r
+       delete ptrVague0;\r
+       delete ptrVague;\r
+       delete ptrDamier;\r
+       delete ptrEvent;\r
+       delete ptrMyDisplayable;\r
+\r
+       ptrVague0 = NULL;\r
+       ptrVague=NULL;\r
+       ptrDamier = NULL;\r
+       ptrEvent = NULL;\r
+       ptrMyDisplayable = NULL;\r
+       }\r
+\r
+    return EXIT_SUCCESS;\r
+    }\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+\r
+\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r