00001 #ifndef __FISHEYE_ORIENTATION
00002 #define __FISHEYE_ORIENTATION
00003
00004 #include "fisheyeDllApi.h"
00005 #include <ocean/plankton/VObject.hpp>
00006 #include <ocean/shrimp/VEnum.hpp>
00007 #include <field/MemBase.hpp>
00008 #include <fiberop/SliceSelection.hpp>
00009
00010 namespace Wizt
00011 {
00012 using namespace Fiber;
00013
00014 struct fisheye_API GridOrientation3 : Fiber::SliceSelection
00015 {
00016
00017 GridOrientation3(int o = 0)
00018 : Fiber::SliceSelection(o)
00019 {}
00020
00021 bool getIndex(double SliceCoordinate, const RefPtr<MemBase>&Coords, index_t&slice, double&Minslice, double&Maxslice) const;
00022 };
00023
00024 struct fisheye_API Orientation
00025 {
00026 TypedSlot<Enum> OrientationSlot;
00027
00028 Orientation(VObject*what, const string&name = "orientation");
00029
00030 ~Orientation();
00031
00032 bool setup(GridOrientation3&, const RefPtr<ValuePool>&VP) const;
00033 };
00034
00035 }
00036
00037 #endif // __FISHEYE_ORIENTATION
00038