00001 #ifndef PLOTTERIMPLEMENTATIONS_H_ 00002 #define PLOTTERIMPLEMENTATIONS_H_ 00003 00004 #include <graphics/GenericPlotter/SimplePlotter.h> 00005 00006 namespace casa { 00007 00008 // The plotterImplementation function is a global function 00009 // within the casa namespace. Any implementation of the 00010 // generic plotter interface should: 00011 // 1) add itself to the Implementation enum in the 00012 // graphics/implementation/Plotter.h file, 00013 // 2) add a case statement to this function to return a 00014 // new instance of the factory for that implementation. 00015 PlotFactoryPtr plotterImplementation( 00016 Plotter::Implementation which = Plotter::DEFAULT, 00017 bool smartDelete = true); 00018 00019 // The simplePlotter function is a global function 00020 // within the casa namespace. 00021 SimplePlotterPtr simplePlotter(Plotter::Implementation which= Plotter::DEFAULT, 00022 bool smartDelete = true); 00023 00024 class PlotterImplementations { 00025 public: 00026 static String implementationName(Plotter::Implementation i); 00027 00028 static String implementationAbout(Plotter::Implementation i, 00029 bool useHTML = true); 00030 00031 static String implementationVersion(Plotter::Implementation i); 00032 00033 static String implementationLink(Plotter::Implementation i, 00034 bool useHTML = true); 00035 }; 00036 00037 } 00038 00039 #endif /* PLOTTERIMPLEMENTATIONS_H_ */