X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2FmainGL.cpp;h=fe29a86d8f8d3b4678e7cd2e6a77aa462a8b749b;hb=2fd5d915e8a9de4d957d6031d2d68088784eac3c;hp=4b6a2178ae656ab443ce7ae8079a1faee61b0fce;hpb=3e601cb6c0cc2c5b3a9b30ebf3ad1102e53c0e0b;p=GPU.git diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/mainGL.cpp b/WCudaMSE/Student_Cuda_Image/src/cpp/core/mainGL.cpp index 4b6a217..fe29a86 100755 --- a/WCudaMSE/Student_Cuda_Image/src/cpp/core/mainGL.cpp +++ b/WCudaMSE/Student_Cuda_Image/src/cpp/core/mainGL.cpp @@ -1,6 +1,7 @@ #include #include #include +using namespace std; #include "GLUTImageViewers.h" @@ -9,64 +10,42 @@ #include "Rippling0Provider.h" #include "RipplingProvider.h" +#include "FractalProvider.h" +#include "NewtonProvider.h" +#include "HeatTransfertProvider.h" +#include "RayTracingProvider.h" -using std::cout; -using std::endl; -using std::string; - -/*----------------------------------------------------------------------*\ - |* Declaration *| - \*---------------------------------------------------------------------*/ - -/*--------------------------------------*\ - |* Imported *| - \*-------------------------------------*/ - -/*--------------------------------------*\ - |* Public *| - \*-------------------------------------*/ - -int mainGL(void); - -/*--------------------------------------*\ - |* Private *| - \*-------------------------------------*/ - -/*----------------------------------------------------------------------*\ - |* Implementation *| - \*---------------------------------------------------------------------*/ - -/*--------------------------------------*\ - |* Public *| - \*-------------------------------------*/ +template +class Viewer + { + private: + TOutput* ptrProvider; + GLUTImageViewers viewer; + + public: + Viewer(bool isAnimation, bool isSelection, int pxFrame, int pyFrame): + ptrProvider(TProvider::createGL()), + viewer(ptrProvider, isAnimation, isSelection, pxFrame, pyFrame) + { + } + + ~Viewer() + { + delete this->ptrProvider; + } + }; int mainGL(void) { - Rippling0Image* ptrRippling0 = Rippling0Provider::createGL(); - Image* ptrRippling = RipplingProvider::createGL(); - // TODO : Insert autres Images ... - - const bool isAnimation = true; - const bool isSelection = true; - - GLUTImageViewers rippling0Viewer(ptrRippling0, isAnimation, isSelection, 0, 0); - GLUTImageViewers ripplingViewer(ptrRippling, isAnimation, isSelection, 10, 10); - // TODO : Insert here autres ImageViewers ... + // Viewer rippling0(true, true, 10, 10); + // Viewer rippling0(true, true, 10, 10); + Viewer fractalMandelbrot(true, true, 20, 20); + // Viewer fractalJulia(true, true, 30, 30); + // Viewer newtown(true, true, 20, 20); + // Viewer heatTransfert(true, false, 20, 20); + // Viewer rayTracing(true, true, 20, 20); GLUTImageViewers::runALL(); // Bloquant, Tant qu'une fenetre est ouverte - // destruction - delete ptrRippling0; - delete ptrRippling; - return EXIT_SUCCESS; } - -/*--------------------------------------*\ - |* Private *| - \*-------------------------------------*/ - -/*----------------------------------------------------------------------*\ - |* End *| - \*---------------------------------------------------------------------*/ -