Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Image_GL / INC / cpu / DomaineMath_CPU.h
diff --git a/WCudaMSE/API_Bilat_Image_GL/INC/cpu/DomaineMath_CPU.h b/WCudaMSE/API_Bilat_Image_GL/INC/cpu/DomaineMath_CPU.h
new file mode 100755 (executable)
index 0000000..494ede2
--- /dev/null
@@ -0,0 +1,103 @@
+#ifndef DOMAINE_MATH_CPU_H\r
+#define DOMAINE_MATH_CPU_H\r
+\r
+#include "envGLImage.h"\r
+#include "DomaineEcran_CPU.h"\r
+#include <string>\r
+\r
+using std::string;\r
+using std::ostream;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+namespace cpu\r
+    {\r
+    /**\r
+     * (x0,y0) upper left corner of a dx x dy square.\r
+     * x[x0,x1] y[y0,y1]\r
+     */\r
+    class CBI_GLIMAGE DomaineMath\r
+       {\r
+           /*--------------------------------------*\\r
+            |*         Constructor                 *|\r
+            \*-------------------------------------*/\r
+\r
+       public:\r
+\r
+           DomaineMath();\r
+\r
+           DomaineMath(double x0, double y0, double x1, double y1);\r
+\r
+           /*--------------------------------------*\\r
+            |*         Methodes                     *|\r
+            \*--------------------------------------*/\r
+\r
+       public:\r
+\r
+           cpu::DomaineMath extractDomaineFromSelection(const cpu::DomaineEcran &domaineSelection, int dxFrame, int dyFrame) const;\r
+\r
+           string toString() const;\r
+\r
+           inline double dx() const\r
+               {\r
+               return x1 - x0;\r
+               }\r
+\r
+           inline double dy() const\r
+               {\r
+               return y1 - y0;\r
+               }\r
+\r
+\r
+           /**\r
+            * toXY est uniquement utilisable lorsque le domaine a été associé a une ImageFonctionelle!\r
+            */\r
+           void toXY(int i, int j, double* ptrX, double* ptrY) const;\r
+\r
+           static cpu::DomaineMath create(double x0, double y0, double dx, double dy);\r
+\r
+       private:\r
+\r
+           void computeDxDy(int w, int h);\r
+\r
+       public:\r
+\r
+\r
+           /*--------------------------------------*\\r
+           |*          Attributs                   *|\r
+            \*-------------------------------------*/\r
+\r
+       public:\r
+\r
+           //Input\r
+           double x0;\r
+           double y0;\r
+           double x1;\r
+           double y1;\r
+\r
+       private:\r
+\r
+           // Tools\r
+           double dxDw; //old dx\r
+           double dyDh; //old dy\r
+\r
+           friend class ImageFonctionelMOOs_A;\r
+           // Toutes les méthode de la classe ImageFonctionelMOOs_A sont amie\r
+       };\r
+\r
+    CBI_GLIMAGE ostream& operator<<(ostream& stream, const cpu::DomaineMath& domaine);\r
+\r
+\r
+    }\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r