Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Graph2D / INC / model / Domaine.h
1 #ifndef DOMAINE_H_
2 #define DOMAINE_H_
3
4 #include "Point.h"
5 #include "Interval.h"
6
7 /*----------------------------------------------------------------------*\
8 |* Declaration *|
9 \*---------------------------------------------------------------------*/
10
11 /*--------------------------------------*\
12 |* Public *|
13 \*-------------------------------------*/
14
15 class CBI_GRAPH Domaine
16 {
17 public:
18 Domaine(double x1, double y1, double x2, double y2);
19 Domaine(Point p1, Point p2);
20 Domaine(Interval intervalX, Interval intervalY);
21
22 void setIntervalX(Interval interval);
23 void setIntervalY(Interval interval);
24
25 inline Interval getIntervalX() const
26 {
27 return intervalX;
28 }
29
30 inline Interval getIntervalY() const
31 {
32 return intervalY;
33 }
34
35 inline double getX1() const
36 {
37 return intervalX.getMin();
38 }
39
40 inline double getX2() const
41 {
42 return intervalX.getMax();
43 }
44
45 inline double getY1() const
46 {
47 return intervalY.getMin();
48 }
49
50 inline double getY2() const
51 {
52 return intervalY.getMax();
53 }
54
55 Point gravity() const;
56
57 Domaine combine(Domaine domaine) const;
58
59 private:
60 Interval intervalX;
61 Interval intervalY;
62 };
63
64 #endif
65
66 /*----------------------------------------------------------------------*\
67 |* End *|
68 \*---------------------------------------------------------------------*/