00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef HxImageTem2d_h
00011 #define HxImageTem2d_h
00012
00013 #include "HxImageTem.h"
00014
00015
00018 template<class ImageSigT>
00019 class HxImageTem2d : public HxImageTem<ImageSigT> {
00020 public:
00021 HxImageTem2d(int width = 1, int height = 1);
00022 HxImageTem2d(size_t* sizes);
00023 HxImageTem2d(const HxImageTem2d &);
00024 virtual ~HxImageTem2d();
00025
00026 int width() const;
00027 int height() const;
00028
00029 virtual DataPtrType dataPtrClone() const;
00030
00031
00032
00033 virtual void geometricOp2d(HxImageData* arg,
00034 HxMatrix func, HxGeoIntType gi,
00035 HxVec3Double translate, HxValue background);
00036 virtual HxImageData* projectDomain(int dimension, int coordinate);
00037 virtual void inverseProjectDomain(int dimension, int coordinate,
00038 HxImageData* arg);
00039
00040
00041
00042 virtual void getValues(
00043 HxPointListConstIter first,
00044 HxPointListConstIter last,
00045 HxValueListBackInserter);
00046
00047
00048
00049
00050 virtual void getRgbPixels2d(int* pixels, HxString dispF,
00051 int bufWidth, int bufHeight,
00052 int VX, int VY, int VW, int VH,
00053 double SX, double SY, double scaleX, double scaleY,
00054 HxGeoIntType gi) const;
00055
00056
00057
00058 private:
00059 typename ImageSigT::PixelType* _data;
00060 };
00061
00062 #ifdef INC_TEMPLATE_SRC
00063 #include "HxImageTem2d.c"
00064 #endif
00065
00066 #endif