FDO .NET API Reference | Feature Data Objects |
00001 /* 00002 * Copyright (C) 2004-2006 Autodesk, Inc. 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of version 2.1 of the GNU Lesser 00006 * General Public License as published by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 * Lesser General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public 00014 * License along with this library; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00016 * 00017 */ 00018 00019 #pragma once 00020 00021 #include "FDO\Raster\mgRasterDataModelType.h" 00022 #include "FDO\Raster\mgRasterDataType.h" 00023 #include "FDO\Raster\mgRasterDataOrganization.h" 00024 00025 class FdoRasterDataModel; 00026 00027 BEGIN_NAMESPACE_OSGEO_FDO_RASTER 00028 00029 /// \ingroup (OSGeoFDORaster) 00030 /// \brief 00031 /// The RasterDataModel specifies the data type and organization 00032 /// of raster data retrieved and stored. Using this class and the image 00033 /// extents in width and length, the binary format of the image data returned 00034 /// by and accepted by the IStreamReader class can be interpreted. 00035 public __gc class RasterDataModel: public NAMESPACE_OSGEO_RUNTIME::Disposable 00036 { 00037 public: 00038 /// \brief 00039 /// Creates a new datamodel. 00040 /// 00041 /// \return 00042 /// Returns a bitonal 256x256 tiled data model. 00043 /// 00044 RasterDataModel(); 00045 00046 /// \brief 00047 /// Gets the type of data available from this datamodel. 00048 /// 00049 /// \return 00050 /// Returns the type of data available with this data model. 00051 /// 00052 __property NAMESPACE_OSGEO_FDO_RASTER::RasterDataModelType get_DataModelType (); 00053 00054 /// \brief 00055 /// Sets the type of data for this datamodel. 00056 /// 00057 /// \param type 00058 /// The type of data for this data model. 00059 /// 00060 __property System ::Void set_DataModelType (NAMESPACE_OSGEO_FDO_RASTER::RasterDataModelType type); 00061 00062 /// \brief 00063 /// Get the number of bits per pixel. 00064 /// 00065 /// \return 00066 /// Returns the number of bits for each pixel. For multi-channel 00067 /// data the bits per channel will be this value devided by the numer of 00068 /// channels. For example, RGB data has three channels, so if this 00069 /// method returns twelve, each channel is four bits. 00070 /// 00071 __property System ::Int32 get_BitsPerPixel (); 00072 00073 /// \brief 00074 /// Set the number of bits per pixel. 00075 /// 00076 /// \param bitsPerPixel 00077 /// The number of bits per pixel desired. 00078 /// Values of 1, 4, 8, 16, 24, 32, 48 and 64 bits per channel may 00079 /// be supported. Others values (i.e. indivisible by the number of channels) 00080 /// are likely to raise a Exception. 00081 /// 00082 __property System ::Void set_BitsPerPixel (System::Int32 bitsPerPixel); 00083 00084 /// \brief 00085 /// Get the data interleave organization. 00086 /// 00087 /// \return 00088 /// Returns the way data is interleaved. 00089 /// 00090 __property NAMESPACE_OSGEO_FDO_RASTER::RasterDataOrganization get_Organization(); 00091 00092 /// \brief 00093 /// Set the data interleave organization. 00094 /// 00095 /// \param organization 00096 /// Specifies the way data is to be interleaved. 00097 /// 00098 __property System::Void set_Organization (NAMESPACE_OSGEO_FDO_RASTER::RasterDataOrganization organization); 00099 00100 /// \brief 00101 /// Get the tile size in the horizontal direction (number of columns). 00102 /// 00103 /// \return 00104 /// The number of columns in a tile. 00105 /// 00106 __property System::Int32 get_TileSizeX (); 00107 00108 /// \brief 00109 /// Set the tile size in the horizontal direction (number of columns). 00110 /// 00111 /// \param sizex 00112 /// The number of columns in a tile. 00113 /// 00114 __property System::Void set_TileSizeX (System::Int32 sizex); 00115 00116 /// \brief 00117 /// Get the tile size in the vertical direction (number of rows). 00118 /// 00119 /// \return 00120 /// The number of rows in a tile. 00121 /// 00122 __property System::Int32 get_TileSizeY (); 00123 00124 /// \brief 00125 /// Set the tile size in the vertical direction (number of rows). 00126 /// Values of 64, 128, 256, 512, 1024 and the image extents in width and 00127 /// length may be supported. When the tile sizes are equal to the image 00128 /// extents, the image is monolithic. Rectangular tile sizes, combining 00129 /// different values for X and Y, may be supported. 00130 /// 00131 /// \param sizey 00132 /// The number of rows in a tile. 00133 /// 00134 __property System::Void set_TileSizeY (System::Int32 sizey); 00135 00136 /// \brief 00137 /// Gets the data type. 00138 /// 00139 /// \return 00140 /// Returns the data type of the raster. 00141 /// 00142 __property NAMESPACE_OSGEO_FDO_RASTER::RasterDataType get_DataType(); 00143 00144 /// \brief 00145 /// Sets the data type. 00146 /// 00147 /// \param dataType 00148 /// Specifies the data type the raster data is to be returned in. 00149 /// 00150 __property System::Void set_DataType (NAMESPACE_OSGEO_FDO_RASTER::RasterDataType dataType); 00151 00152 /// \brief 00153 /// Constructs a RasterDataModel object based on an unmanaged instance of the object 00154 /// 00155 /// \param unmanaged 00156 /// Input A Pointer to the unmanaged object. 00157 /// 00158 /// \param autoDelete 00159 /// Input Indicates if the constructed object should be automatically deleted 00160 /// once it no longer referenced. 00161 /// 00162 RasterDataModel(System::IntPtr unmanaged, System::Boolean autoDelete); 00163 00164 /// \cond DOXYGEN-IGNORE 00165 protected: 00166 System::Void ReleaseUnmanagedObject(); 00167 /// \endcond 00168 00169 public private: 00170 inline FdoRasterDataModel* GetImpObj(); 00171 }; 00172 00173 END_NAMESPACE_OSGEO_FDO_RASTER 00174 00175
Comments or suggestions? Send us feedback. |