Orientation.hpp

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 } // end namespace
00036 
00037 #endif // __FISHEYE_ORIENTATION
00038