// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Image_PixelInterpolation_HeaderFile #define _Image_PixelInterpolation_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Image_Image_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_Image_DColorImage_HeaderFile #include #endif #ifndef _Handle_Image_DIndexedImage_HeaderFile #include #endif class Image_Image; class Aspect_Pixel; class Image_DColorImage; class Aspect_ColorPixel; class Image_DIndexedImage; class Aspect_IndexPixel; //! The class PixelInterpolation is used to compute a Pixel
//! value on non-integer Image coordinate. This Pixel type
//! is called SubPixel .
//! PixelInterpolation is the default and is the simplest one,
//! SubPixel value on non-integer Image coordinate is the
//! value of the nearest Pixel at integer coordinate.
//! The user can create a new kind of PixelInterpolation with a
//! new algorithm by creating a new derived PixelInterpolation
//! class and redefined Interpolate() method.
//! If V1 is the value of the nearest Image Pixel
//! V = V1 is the Image SubPixel value on non-integer
//! coordinate (FX,FY)
class Image_PixelInterpolation { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Create a PixelInterpolation object.
Standard_EXPORT Image_PixelInterpolation(); //! Compute SubPixel's value on non-integer Image coordinate.
//! LowerX,LowerY,UpperX,UpperY is the Image Min Max, it's used
//! to check if the SubPixel coordinate X,Y is outside of image.
//! Return True if Interpolation Succes.
//! Retrun False if the SubPixel is out from Image.
Standard_EXPORT virtual Standard_Boolean Interpolate(const Handle(Image_Image)& aImage,const Standard_Real X,const Standard_Real Y,const Standard_Integer LowerX,const Standard_Integer LowerY,const Standard_Integer UpperX,const Standard_Integer UpperY,Aspect_Pixel& RetPixel) const; //! Compute SubPixel's value on non-integer Image coordinate for
//! DColorImage and ColorPixel.
//! LowerX,LowerY,UpperX,UpperY is the Image Min Max, it's used
//! to check if the SubPixel coordinate FX,FY is outside of
//! image.
//! Return True if Interpolation Succes.
//! Return False if the SubPixel is out from Image.
Standard_EXPORT virtual Standard_Boolean Interpolate(const Handle(Image_DColorImage)& aImage,const Standard_Real FX,const Standard_Real FY,const Standard_Integer LowerX,const Standard_Integer LowerY,const Standard_Integer UpperX,const Standard_Integer UpperY,Aspect_ColorPixel& RetPixel) const; //! Compute SubPixel's value on non-integer Image coordinate for
//! DIndexedImage and IndexPixel.
//! LowerX,LowerY,UpperX,UpperY is the Image Min Max, it's use
//! check if the SubPixel coordinate X,Y is outside of image.
//! Return True if Interpolation Succes.
//! Return False if the SubPixel is out from Image.
Standard_EXPORT virtual Standard_Boolean Interpolate(const Handle(Image_DIndexedImage)& aImage,const Standard_Real FX,const Standard_Real FY,const Standard_Integer LowerX,const Standard_Integer LowerY,const Standard_Integer UpperX,const Standard_Integer UpperY,Aspect_IndexPixel& RetPixel) const; protected: private: Standard_EXPORT Standard_Boolean DoInterpolate(const Handle(Image_Image)& aImage,const Standard_Real X,const Standard_Real Y,const Standard_Integer LowerX,const Standard_Integer LowerY,const Standard_Integer UpperX,const Standard_Integer UpperY,Aspect_Pixel& RetPixel) const; }; // other Inline functions and methods (like "C++: function call" methods) #endif