Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuSphericViewFilterFactory.cpp

Go to the documentation of this file.
00001 #include "vuSphericViewFilterFactory.h"
00002 #include "SphericViewFilter/vuSphVwFlt_Blend.h"
00003 #include "SphericViewFilter/vuSphVwFlt_Fourier.h"
00004 #include "SphericViewFilter/vuSphVwFlt_Lazy.h"
00005 #include "SphericViewFilter/vuSphVwFlt_Black.h"
00006 
00007 template <int S, class T> vuSphericViewFilter<S,T> *
00008 vuSphericViewFilterFactory<S,T>::getFilter(dword idx)
00009 {
00010   static vuString *filterNames = NULL;
00011   static dword    count        = 0;
00012    
00013   if (filterNames == NULL)
00014     vuSphericViewFilterFactory<S,T>::getFilterNames(filterNames, count);
00015 
00016   if (idx < count)
00017     return getFilter(filterNames[idx]);
00018   else
00019     return NULL;
00020 }
00021 
00022 template <int S, class T> vuSphericViewFilter<S,T> *
00023 vuSphericViewFilterFactory<S,T>::getFilter(const vuString &filterName)
00024 {
00025   if (filterName == "Blend")
00026     return new vuSphVwFlt_Blend<S,T>("Blend");
00027   else if (filterName == "Fourier")
00028     return new vuSphVwFlt_Fourier<S,T>("Fourier");
00029   else if (filterName == "Lazy")
00030     return new vuSphVwFlt_Lazy<S,T>("Lazy");
00031   else if (filterName == "Black")
00032     return new vuSphVwFlt_Black<S,T>("Black");
00033   else
00034     return NULL;
00035 }
00036 
00037 template <int S, class T> void vuSphericViewFilterFactory<S,T>::
00038 getFilterNames(vuString* &filterNames, dword &numberOfNames)
00039 {
00040   static const dword    count         = 4;
00041   static const vuString result[count] = { "Blend",
00042                                           "Fourier",
00043                                           "Lazy",
00044                                           "Black" };
00045 
00046   filterNames   = (vuString *)result;
00047   numberOfNames = count;
00048 }

Generated on Wed Dec 15 21:20:37 2004 for vuVolume by  doxygen 1.3.9.1