Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_Bilat_Graph2D / INC / model / CurveParametric.h
1 #ifndef CURVE_PARAMETRIC_H
2 #define CURVE_PARAMETRIC_H
3
4 #include "Figure.h"
5 #include "Point.h"
6 #include "Interval.h"
7 #include <memory>
8
9 #include "shared_array.h"
10 //#include <boost/shared_array.hpp>
11 //using boost::shared_array;
12
13 //in c++14 = std::shared_ptr<int> sp( new int[10], std::default_delete<int[]>() );
14
15 /*----------------------------------------------------------------------*\
16 |* Declaration *|
17 \*---------------------------------------------------------------------*/
18
19 /*--------------------------------------*\
20 |* Public *|
21 \*-------------------------------------*/
22
23 /**
24 * Courbe de param�tre landa
25 */
26 class CBI_GRAPH CurveParametric: public Figure
27 {
28 public:
29 CurveParametric(Title title, Apparance apparance);
30
31 virtual ~CurveParametric();
32
33 virtual Domaine computeDomaine(const Domaine& graphDomaine) const;
34
35 virtual void accept(FigureVisitor_I* ptrVisitor);
36
37 /**
38 * Return a new TabPoints of size getNbPoints()
39 * Delete car pas trouver d'equivalence a boost dans la stl
40 */
41 virtual shared_array<Point> getTabPoints() const;
42
43 virtual int getNbPoints() const = 0;
44
45 virtual Interval getIntervalLanda() const =0;
46
47 /**
48 * landa in intervalLand
49 */
50 virtual float x(double landa) const=0;
51
52
53 /**
54 * landa in intervalLand
55 */
56 virtual float y(double landa) const=0;
57 };
58
59 #endif
60
61 /*----------------------------------------------------------------------*\
62 |* End *|
63 \*---------------------------------------------------------------------*/