HDF5Cleanup.hpp

00001 #include <bundle/Bundle.hpp>
00002 #include <bundle/Slice.hpp>
00003 #include <F5/F5F.h>
00004 
00005 using namespace Fiber;
00006 
00007 struct Sld
00008 {
00009         Slice&S;
00010         const RefPtr<BundleLoaderProgress>&BLP;
00011         double  t;
00012 
00013         Sld(Slice&pS, const RefPtr<BundleLoaderProgress>&pBLP, double T)
00014         : S(pS)
00015         , BLP(pBLP), t(T)
00016         {}
00017 };
00018 
00019 
00020 
00021 extern "C"
00022 {
00023         herr_t grid_iterator(F5Path*grid, const char*gridname, void *operator_data);
00024 
00025         herr_t vertex_iterator(F5Path*topology, const char*topologyname,
00026                                int index_depth,
00027                                void *operator_data);
00028 
00029 }
00030 
00031 RefPtr<Field> LoadField(const RefPtr<LoaderProgress>&LP, F5Path*field);
00032 
00033 struct  HDF5SliceLoader : Slice::Loader
00034 {
00035         RefPtr<BundleLoaderProgress> BLP;
00036         double  time;
00037         F5Path *myPath;
00038 
00039         HDF5SliceLoader(const RefPtr<BundleLoaderProgress>&p1, double p2, F5Path*SlicePath);
00040 
00041         ~HDF5SliceLoader();
00042 
00043         bool load(const WeakPtr<Slice>&Self);
00044 };
00045 
00046 
00047 struct  HDF5Cleanup
00048 {
00049 static  void registerLoader(const WeakPtr<HDF5SliceLoader>&H5Loader);
00050         
00051         ~HDF5Cleanup();
00052 };
00053 
00054 
00055 
00056