00001
00002
00014 #ifndef _FunctionFactory_H_
00015 #define _FunctionFactory_H_
00016
00017 #include "pattern/Factory.h"
00018
00019 namespace hippodraw {
00020
00021 class FunctionBase;
00022
00031 class MDL_HIPPOPLOT_API FunctionFactory : public Factory <FunctionBase>
00032 {
00033
00034 private:
00035
00037 static FunctionFactory * s_instance;
00038
00040 FunctionFactory ( const FunctionFactory & );
00041
00043 void initialize ();
00044
00045 protected:
00046
00049 FunctionFactory();
00050
00051 public:
00052
00054 static FunctionFactory * instance ();
00055
00056 };
00057
00058 }
00059
00060 #endif // _FunctionFactory_H_