00001 #ifndef __FISH_BONE_FISHSLICE_HPP
00002 #define __FISH_BONE_FISHSLICE_HPP
00003
00004 #include "fishboneDllApi.h"
00005
00006 #include <ocean/plankton/VObject.hpp>
00007 #include <ocean/plankton/VTime.hpp>
00008 #include <ocean/shrimp/TimeDependent.hpp>
00009
00010 #include <bundle/Slice.hpp>
00011 #include <bundle/GridSelector.hpp>
00012 #include "Fish.hpp"
00013
00014 namespace Wizt
00015 {
00016 using std::pair;
00017
00022 template <>
00023 class fishbone_API Fish<Fiber::Slice> : public virtual Fish<double>, public TimeDependent
00024 {
00025 public:
00027 Fish<Fiber::Slice>(const string&time = "time", const string×cale = "timescale");
00028
00030 ~Fish();
00031
00033 override double getTime(const RefPtr<ValuePool>&VP, const RefPtr<Fiber::Bundle>&SpaceTime) const;
00034
00035 Fiber::Bundle::GridInfo_t
00036 findRecentGrid(Fiber::GridSelector&GS, const RefPtr<ValuePool>&VP) const
00037 {
00038 return GS.findMostRecentGrid( getTime(VP, GS.BundleSource() ) );
00039 }
00040 };
00041
00042
00043 }
00044
00045 #endif
00046