eLynx SDK
v3.0.1 C++ image processing API reference |
00001 //============================================================================ 00002 // ImageHandlerImpl.h Image.Component package 00003 //============================================================================ 00004 // Usage : 00005 //---------------------------------------------------------------------------- 00006 // Copyright (C) 2006 by eLynx project 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU Library General Public 00010 // License as published by the Free Software Foundation; either 00011 // version 2 of the License, or (at your option) any later version. 00012 // 00013 // This library is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 // See the GNU Library General Public License for more details. 00017 //---------------------------------------------------------------------------- 00018 #ifndef __ImageHandlerImpl_h__ 00019 #define __ImageHandlerImpl_h__ 00020 00021 #include "IImageHandler.h" 00022 00023 namespace eLynx { 00024 namespace Image { 00025 00029 template <class Pixel> 00030 class ImageHandlerImpl : public IImageHandler 00031 { 00032 public: 00035 virtual boost::shared_ptr<AbstractImage> 00036 CreateImage(uint32 iWidth, uint32 iHeight) const; 00037 00038 virtual boost::shared_ptr<AbstractImage> 00039 CreateImage(const AbstractImage& iImage) const; 00040 00041 virtual boost::shared_ptr<AbstractImage> 00042 CreateImage(const AbstractImage& iImage, EResolution iResolution, bool ibScaled = true) const; 00043 00044 virtual boost::shared_ptr<AbstractImage> 00045 CreateImageUByteFullDynamic(const AbstractImage& iImage) const; 00046 00048 00051 virtual const IImageGeometry& GetGeometryHandler() const; 00052 virtual const IImageAnalyse& GetAnalyseHandler() const; 00053 virtual const IImageOperators& GetOperatorsHandler() const; 00054 virtual const IImagePointProcessing& GetPointToPointHandler() const; 00055 virtual const IImageLocalProcessing& GetLocalToPointHandler() const; 00056 virtual const IImageGlobalProcessing& GetGlobalToPointHandler() const; 00057 virtual const IImageEdgeProcessing& GetEdgeProcessingHandler() const; 00058 virtual const IImageMorphologicalProcessing& GetMorphologicalHandler() const; 00059 virtual const IImageMiscProcessing& GetMiscHandler() const; 00060 virtual const IImageRasterization& GetRasterizationHandler() const; 00061 virtual const IImageRestoration& GetRestorationHandler() const; 00062 00064 }; 00065 00066 } // namespace Image 00067 } // namespace eLynx 00068 00069 #include "inl/ImageHandlerImpl.inl" 00070 00071 #endif // __ImageHandlerImpl_h__