+#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