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