FDO API Reference Feature Data Objects

IRasterCapabilities.h

Go to the documentation of this file.
00001 #ifndef _IRASTERCAPABILITIES_H_
00002 #define _IRASTERCAPABILITIES_H_
00003 //
00004 
00005 //
00006 // Copyright (C) 2004-2006  Autodesk, Inc.
00007 // 
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of version 2.1 of the GNU Lesser
00010 // General Public License as published by the Free Software Foundation.
00011 // 
00012 // This library is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015 // Lesser General Public License for more details.
00016 // 
00017 // You should have received a copy of the GNU Lesser General Public
00018 // License along with this library; if not, write to the Free Software
00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 //
00021 
00022 #ifdef _WIN32
00023 #pragma once
00024 #endif
00025 
00026 #include <FdoStd.h>
00027 #include <Fdo/Raster/RasterDataModel.h>
00028 
00029 /// \brief
00030 /// The FdoIRasterCapabilities class delineates available support for raster processing from a provider.
00031 class FdoIRasterCapabilities : public FdoIDisposable
00032 {
00033 public:
00034     /// \brief
00035     /// Returns true if the provider has raster capability.
00036     /// This implies the capability to define new raster properties on a class
00037     /// and store and retrieve raster images.
00038     /// 
00039     /// \return
00040     /// Returns true if raster images are supported, false otherwise.
00041     /// 
00042     FDO_API virtual bool SupportsRaster () = 0;
00043 
00044     /// \brief
00045     /// Returns true if the provider has the capability to stitch images from a
00046     /// select command (query) together into a single image.
00047     /// 
00048     /// \return
00049     /// Returns false if this capability is not supported, and hence the
00050     /// FdoIFeatureReader object returned from a select command will have one feature
00051     /// for each of the FdoIRaster objects that match the select filter.
00052     /// Returns true if this capability is supported. If the MOSAIC function
00053     /// is specified in the select command, then a single image that is a combination
00054     /// of the selected images is returned.
00055     /// 
00056     FDO_API virtual bool SupportsStitching () = 0;
00057 
00058     /// \brief
00059     /// Returns true if the provider can reduce the resolution of an image.
00060     /// 
00061     /// \return
00062     /// Returns true if this capability is supported, and hence the FdoIRaster
00063     /// object returned by the FdoIFeatureReader from a query will honour the
00064     /// SetImageXSize() and SetImageYSize() methods and reduce the resolution of the
00065     /// image by one of several means of subsampling. Returns false if attempting to set
00066     /// the image size of an FdoIRaster object returned by a FdoIFeatureReader will
00067     /// throw an FdoException.
00068     /// 
00069     FDO_API virtual bool SupportsSubsampling () = 0;
00070 
00071     /// \brief
00072     /// Returns true if the provider can handle the provided data model.
00073     /// It is expected that when used to transform between data models, the matrix defined
00074     /// by input and output data models is not sparse for every data model that is supported.
00075     /// 
00076     /// \param model 
00077     /// The model to check for validity with this provider.
00078     /// 
00079     /// \return
00080     /// Returns true if the specified data model is supported, and hence the
00081     /// FdoIRaster object will dynamically transform an image to the specified data model.
00082     /// Returns false if the specified data model is not supported.
00083     /// 
00084     FDO_API virtual bool SupportsDataModel (FdoRasterDataModel* model) = 0;
00085 };
00086 
00087 #endif //_IRASTERCAPABILITIES_H_
00088 
00089 

Comments or suggestions? Send us feedback.