00001 #ifndef __BASEOP_GRIDISOSURFACE_HPP
00002 #define __BASEOP_GRIDISOSURFACE_HPP
00003
00004 #include <grid/Grid.hpp>
00005 #include <bundle/Slice.hpp>
00006
00007 #include "gridopDllApi.h"
00008
00009
00010 namespace Fiber
00011 {
00012
00013 struct gridop_API IsoException : std::exception
00014 {
00015 enum Code
00016 {
00017 NO_ISO_ERROR,
00018 NO_INPUT_COORDINATES,
00019 NO_INPUT_FIELD,
00020 NO_FRAGMENT_COORDINATES,
00021 NO_SUPPORTED_DATATYPE,
00022
00023 NO_FRAGMENT_OFFSET_FOR_GLOBAL_COORDINATES,
00024
00025 UNDEFINED_ISO_ERROR
00026 }
00027
00028 code;
00029
00030 IsoException(Code c)
00031 : code(c)
00032 {}
00033
00034 ~IsoException() throw();
00035
00036 override const char*what();
00037 };
00038
00039
00049 extern gridop_API Grid&ComputeIsosurface(double Isolevel,
00050 const Ageable&Trigger,
00051 const Grid&RegularGrid,
00052 const string&fieldname,
00053 Slice&TimeStep,
00054 const string&isosurfacename,
00055 double precision);
00056
00057 }
00058
00059 #endif