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:
00028 static AccumulatorFactory * instance(QObject * parent = 0);
00029
00030
00031 private:
00032 QStringList _accumulatorNames;
00033
00034 explicit AccumulatorFactory(QObject *parent = 0);
00035
00036 public:
00038 QStringList names() { return _accumulatorNames; }
00044 Accumulator * accumulator(QString name, FractalInfo * info, bool autoParam = true);
00045 };
00046
00047 #endif // ACCUMULATORFACTORY_H