00001 #ifndef ACCUMULATORFACTORY_H
00002 #define ACCUMULATORFACTORY_H
00003
00004 #include <QObject>
00005 #include <QHash>
00006
00007 #include "accumulator.h"
00008
00009 #include "originaccumulator.h"
00010 #include "sequenceaccumulator.h"
00011
00022 class AccumulatorFactory : public QObject
00023 {
00024
00025 static AccumulatorFactory * _instance;
00026 public:
00027 static AccumulatorFactory * instance(QObject * parent = 0);
00028
00029
00030 private:
00031 QStringList _accumulatorNames;
00032
00033 explicit AccumulatorFactory(QObject *parent = 0);
00034
00035 public:
00036 QStringList names() { return _accumulatorNames; }
00037 Accumulator * accumulator(QString name, FractalInfo * info, bool autoParam = true);
00038 };
00039
00040 #endif // ACCUMULATORFACTORY_H