1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| struct Point { double x, y; };
class Courbe {
public:
Point /* double ? */ operator()(double x) const;
};
class Afficheur {
std::reference<Courbe const> m_courbe;
std::vector<Point> m_points;
double m_min;
double m_max;
double m_pas;
protected:
std::vector<Point> const& points() const { return m_points; }
public:
double min() const { return m_min; }
double max() const { return m_max; }
double pas() const { return m_pas; }
void update(double min_, double max_, double pas_); // set le min/max/pas et recalcule les points
virtual void Dessiner() const = 0;
};
class AfficheurEcran : public Afficheur {
public:
virtual void Dessiner() const override;
};
class AfficheurPDF : public Afficheur {
public:
virtual void Dessiner() const override;
}; |
Partager