00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxImageTem3d_h
00012 #define HxImageTem3d_h
00013
00014 #include "HxImageTem.h"
00015
00016
00019 template<class ImageSigT>
00020 class HxImageTem3d : public HxImageTem<ImageSigT> {
00021 public:
00022 HxImageTem3d(int width = 1, int height = 1,
00023 int depth = 1);
00024 HxImageTem3d(size_t* sizes);
00025 HxImageTem3d(const HxImageTem3d &);
00026 virtual ~HxImageTem3d();
00027
00028 int width() const;
00029 int height() const;
00030 int depth() const;
00031
00032 virtual DataPtrType dataPtrClone() const;
00033
00034
00035
00036 virtual void geometricOp2d(HxImageData* arg,
00037 HxMatrix func, HxGeoIntType gi,
00038 HxVec3Double translate, HxValue background);
00039 virtual HxImageData* projectDomain(int dimension, int coordinate);
00040 virtual void inverseProjectDomain(int dimension, int coordinate,
00041 HxImageData* arg);
00042
00043
00044
00045 virtual void getValues(
00046 HxPointListConstIter first,
00047 HxPointListConstIter last,
00048 HxValueListBackInserter);
00049 private:
00050 typename ImageSigT::PixelType* _data;
00051 };
00052
00053 #ifdef INC_TEMPLATE_SRC
00054 #include "HxImageTem3d.c"
00055 #endif
00056
00057 #endif