00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxImageRepTiedSvt_h
00010 #define HxImageRepTiedSvt_h
00011
00012 #include <OB/CORBA.h>
00013 #include "HxCorbaImageRep_skel_tie.h"
00014 #include "HxImageList.h"
00015 #include "HxImageRep.h"
00016 #include "HxRefCountBase.h"
00017 #include "HxTagList.h"
00018 #include "HxGeoIntType.h"
00019
00020
00022 class HxImageRepTiedSvt : public HxImageRep
00023 {
00024 public:
00025
00026 typedef POA_HxCorba::ImageRep_tie<HxImageRepTiedSvt> TieT;
00027 typedef HxImageRep HxT;
00028 typedef HxCorba::ImageRep CorbaT;
00029 typedef HxCorba::ImageList SeqT;
00030
00031 HxImageRepTiedSvt(const HxImageRep& obj);
00032 virtual ~HxImageRepTiedSvt();
00033
00034
00035
00036
00037
00038
00039
00040 virtual HxCorba::Sizes getSizes();
00041 virtual HxCorba::PixelT pixelType();
00042 virtual HxCorba::ImageSignature signature();
00043
00044 virtual HxCorba::RgbSeq* getRgb2d(const char* displayMode);
00045 virtual void fillRgb2d(HxCorba::RgbBuffer_ptr buf,
00046 const char* displayMode);
00047 virtual HxCorba::ImageRepRgbSource_ptr getRgbSource();
00048
00049 virtual HxCorba::ImageRep_ptr binaryPixOp(HxCorba::ImageRep_ptr arg,
00050 const char* bpoName,
00051 HxCorba::TagList_ptr tags);
00052
00053 virtual HxCorba::ImageRep_ptr binaryPixOpVal(const HxCorba::PixValue& arg,
00054 const char* bpoName,
00055 HxCorba::TagList_ptr tags);
00056
00057 virtual HxCorba::ImageRep_ptr unaryPixOp(const char* upoName,
00058 HxCorba::TagList_ptr tags);
00059
00060 virtual HxCorba::ImageRep_ptr multiPixOp(const HxCorba::ImageList& args,
00061 const char* mpoName,
00062 HxCorba::TagList_ptr tags);
00063
00064 virtual HxCorba::ImageList* MNPixOp(const HxCorba::ImageList& args,
00065 const char* mpoName,
00066 HxCorba::TagList_ptr tags);
00067
00068 virtual HxCorba::PixValue reduceOp(const char* op,
00069 HxCorba::TagList_ptr tags);
00070
00071 virtual HxCorba::ImageRep_ptr generalizedConvolution(
00072 HxCorba::ImageRep_ptr kernel,
00073 const char* gMul, const char* gAdd,
00074 HxCorba::ResultPrecision resPrec,
00075 HxCorba::TagList_ptr tags);
00076
00077 virtual HxCorba::ImageRep_ptr genConv2dSep(
00078 HxCorba::ImageRep_ptr kernel1,
00079 HxCorba::ImageRep_ptr kernel2,
00080 const char* gMul, const char* gAdd,
00081 HxCorba::ResultPrecision resPrec,
00082 HxCorba::TagList_ptr tags);
00083
00084 virtual HxCorba::ImageRep_ptr geometricOp2d(HxCorba::Matrix_ptr func,
00085 HxCorba::GeoIntType gi,
00086 HxCorba::GeoTransType gt,
00087 CORBA::Boolean adjustSize,
00088 const HxCorba::PixValue& background);
00089
00090 virtual HxCorba::ImageRep_ptr neighbourhoodOp(const char* ngbName,
00091 HxCorba::TagList_ptr tags);
00092
00093 virtual HxCorba::ImageRep_ptr recGenConv(HxCorba::ImageRep_ptr kerImg,
00094 const char* gMul,
00095 const char* gAdd,
00096 HxCorba::ResultPrecision resPrec,
00097 HxCorba::TagList_ptr tags);
00098
00099 virtual HxCorba::ImageRep_ptr scale(CORBA::Double sx, CORBA::Double sy,
00100 HxCorba::GeoIntType gi);
00101
00102 virtual HxCorba::PixValue getAt(CORBA::Long x, CORBA::Long y,
00103 CORBA::Long z);
00104
00105 virtual void addRef();
00106 virtual void removeRef();
00107 int getRefCount();
00108 virtual void destroy();
00109
00110 private:
00111 int _refCnt;
00112
00113 };
00114
00115 #endif