00001 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_VU_SPHERIC_FILTER_FACTORY_H_
00002 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_VU_SPHERIC_FILTER_FACTORY_H_
00003
00004 #include "vuSphericFilter.h"
00005
00006 #include "vuFilter/vuSphLfFlt_BestMatch.h"
00007 #include "vuFilter/vuSphLfFlt_Line.h"
00008 #include "vuFilter/vuSphLfFlt_Triangle.h"
00009 #include "vuFilter/vuSphLfFlt_Z_Axis.h"
00010 #include "vuFilter/vuSphLfFlt_XZ_Axis.h"
00011 #include "vuFilter/vuSphLfFlt_XYZ_Axis.h"
00012 #include "vuFilter/vuSphLfFlt_All.h"
00013 #include "vuFilter/vuSphLfFlt_FitAngle.h"
00014 #include "vuFilter/vuSphLfFlt_Nearest.h"
00015
00016 template <int SIZE, class TYPE>
00017 class vuSphericFilterFactory
00018 {
00019 public:
00020 static vuSphericFilter<SIZE,TYPE> *getFilter(dword idx);
00021
00024 static vuSphericFilter<SIZE,TYPE> *getFilter(const vuString &filterName);
00025
00026 static void getFilterNames(vuString* &filterNames, dword &numberOfNames);
00027 };
00028
00029 template class vuSphericFilterFactory<1,byte>;
00030 template class vuSphericFilterFactory<2,byte>;
00031 template class vuSphericFilterFactory<3,byte>;
00032 template class vuSphericFilterFactory<1,float>;
00033 template class vuSphericFilterFactory<2,float>;
00034 template class vuSphericFilterFactory<3,float>;
00035
00036 typedef vuSphericFilterFactory<1,byte> vuSphericFilterFactory1B;
00037 typedef vuSphericFilterFactory<2,byte> vuSphericFilterFactory2B;
00038 typedef vuSphericFilterFactory<3,byte> vuSphericFilterFactory3B;
00039 typedef vuSphericFilterFactory<1,float> vuSphericFilterFactory1F;
00040 typedef vuSphericFilterFactory<2,float> vuSphericFilterFactory2F;
00041 typedef vuSphericFilterFactory<3,float> vuSphericFilterFactory3F;
00042
00043
00044 #endif