Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Graph2D / INC / model / Domaine.h
diff --git a/WCudaMSE/API_Bilat_Graph2D/INC/model/Domaine.h b/WCudaMSE/API_Bilat_Graph2D/INC/model/Domaine.h
new file mode 100755 (executable)
index 0000000..fe7cf33
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef DOMAINE_H_\r
+#define DOMAINE_H_\r
+\r
+#include "Point.h"\r
+#include "Interval.h"\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+class CBI_GRAPH Domaine\r
+    {\r
+    public:\r
+       Domaine(double x1, double y1, double x2, double y2);\r
+       Domaine(Point p1, Point p2);\r
+       Domaine(Interval intervalX, Interval intervalY);\r
+\r
+       void setIntervalX(Interval interval);\r
+       void setIntervalY(Interval interval);\r
+\r
+       inline Interval getIntervalX() const\r
+           {\r
+           return intervalX;\r
+           }\r
+\r
+       inline Interval getIntervalY() const\r
+           {\r
+           return intervalY;\r
+           }\r
+\r
+       inline double getX1() const\r
+           {\r
+           return intervalX.getMin();\r
+           }\r
+\r
+       inline double getX2() const\r
+           {\r
+           return intervalX.getMax();\r
+           }\r
+\r
+       inline double getY1() const\r
+           {\r
+           return intervalY.getMin();\r
+           }\r
+\r
+       inline double getY2() const\r
+           {\r
+           return intervalY.getMax();\r
+           }\r
+\r
+       Point gravity() const;\r
+\r
+       Domaine combine(Domaine domaine) const;\r
+\r
+    private:\r
+       Interval intervalX;\r
+       Interval intervalY;\r
+    };\r
+\r
+#endif \r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r