00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef SHAPE_SHAPEINTERFACE_H
00010 #define SHAPE_SHAPEINTERFACE_H
00011
00012 #include <core/imaging2.hpp>
00013 #include <shape/BoundaryDiscretizer.hpp>
00014
00015 namespace imaging
00016 {
00063 class ShapeInterface
00064 {
00065 public:
00066 virtual ~ShapeInterface() {};
00067
00069 virtual void exponential(const ublas::vector<float_t> & vector, ShapeInterface & shape) const = 0;
00070
00072 virtual void logarithm(const ShapeInterface & shape, ublas::vector<float_t> & vector) const = 0;
00073
00075 virtual size_t dimension() const = 0;
00076 };
00077 }
00078
00079
00080 #endif