C++ класс для построения 2D графиков под Windows

Тимур17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
03.05.2012

У меня есть консольное расчетное приложение на C++ под Windows (VS 2005), которому нужны перерисовывать набор 2d графиков. Вот под такой интерфейс

#include "vector"

using namespace std;

/**

* Класс отрисовки графика с одной серией, знающий где он расположен

*/

class Chart {

public:

void Plot(double x[], double y[], int n, char *title) {}

};

class ChartBuilder {

public:

/**

* nCharts - общее число графиков

* nCols - число графиков в строке

*/

ChartBuilder(int nCharts, int nCols) {

charts_.resize(nCharts);

//инициализация расположения графиков с учетом nCols

//...

}

Chart *Item(int at) {

return &charts_[at];

}

private:

std::vector charts_;

};

void main()

{

//2 строки по 2 графика

ChartBuilder cb(4, 2);

enum {n = 3};

double x[n] = {1, 2, 3};

double y[n] = {1, 4, 9};

cb.Item(0)->Plot(x, y, n, "Chart#1");

}

класс должен генерировать MDI окно вроде этого http://code.google.com/p/graphin/. Никаких кнопок в окне не требуется - просто контейнер с графиками, которые можно перерисовать из консольной программы.

Реализация (GDI, OpenGL, DirectX). Я хочу работать с классом, который всю графику инкапсулирует внутри.

PS: устроит готовая реализация (например http://code.google.com/p/graphin/ или http://www.antigrain.com/ - чем проще, тем лучше).

Срок 2 дня. Возможна дальнейшая поддержка.