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 #pragma once 00018 00019 #include "FDO\Schema\mgDataType.h" 00020 00021 BEGIN_NAMESPACE_OSGEO_COMMON 00022 public __gc class StringCollection; 00023 END_NAMESPACE_OSGEO_COMMON 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION 00026 public __gc class DataValue; 00027 END_NAMESPACE_OSGEO_FDO_EXPRESSION 00028 00029 BEGIN_NAMESPACE_OSGEO_FDO_RASTER 00030 public __gc class DataValueCollection; 00031 00032 /// \ingroup (OSGeoFDORaster) 00033 /// \interface OSGeo::FDO::Raster::IRasterPropertyDictionary 00034 /// \brief 00035 /// The IRasterPropertyDictionary exposes a dictionary style 00036 /// interface to the raster properties. Through this interface the 00037 /// non-standard properties of a raster image can be determined and 00038 /// their values can be retrieved and set. Data values are exchanged 00039 /// through the DataValue object to accommodate various data types, 00040 /// boolean, integer, double, string etc. 00041 public __gc __interface IRasterPropertyDictionary: public System::IDisposable 00042 { 00043 public: 00044 /// \brief 00045 /// Gets the names of all the properties that apply to this 00046 /// image as a collection of Strings. The order of the property names 00047 /// in the collection dictate the order in which they need to 00048 /// be specified. This is especially important for the success of 00049 /// the EnumeratePropertyValues method as properties that occur 00050 /// earlier in the collection may be required for successful enumeration 00051 /// of properties that appear later in the collection. 00052 /// 00053 /// \return 00054 /// A collection of the names of properties in this dictionary. 00055 /// 00056 __property NAMESPACE_OSGEO_COMMON::StringCollection* get_PropertyNames (); 00057 00058 /// \brief 00059 /// Gets the data type for the specified property. 00060 /// 00061 /// \param name 00062 /// The name of the property to get the data type of. 00063 /// 00064 /// \return 00065 /// The data type of the property. 00066 /// 00067 __property NAMESPACE_OSGEO_FDO_SCHEMA::DataType get_PropertyDataType (System::String* name); 00068 00069 /// \brief 00070 /// Gets the value of the specified property (or its default). 00071 /// 00072 /// \param name 00073 /// The name of the property to get the value of. 00074 /// 00075 /// \return 00076 /// The value of the property. 00077 /// 00078 __property NAMESPACE_OSGEO_FDO_EXPRESSION::DataValue* get_Property (System::String* name); 00079 00080 /// \brief 00081 /// Sets the value of the specified property. 00082 /// 00083 /// \param name 00084 /// The name of the property to set the value of. 00085 /// \param value 00086 /// The new value for the property. 00087 /// 00088 __property System::Void set_Property (System::String* name, NAMESPACE_OSGEO_FDO_EXPRESSION::DataValue* value); 00089 00090 /// \brief 00091 /// Gets the default value for the specified property. 00092 /// 00093 /// \param name 00094 /// The name of the property to get the default value of. 00095 /// 00096 /// \return 00097 /// The default value of the property. 00098 /// 00099 __property NAMESPACE_OSGEO_FDO_EXPRESSION::DataValue* get_PropertyDefault (System::String* name); 00100 00101 /// \brief 00102 /// Predicate to determine if the property is required to be set. 00103 /// 00104 /// \param name 00105 /// The name of the property to get the required status of. 00106 /// 00107 /// \return 00108 /// Returns true if the specified property is required, false if it is optional. 00109 /// 00110 System::Boolean IsPropertyRequired (System::String* name); 00111 00112 /// \brief 00113 /// Predicate to determine if the property is enumerable (has more than one value). 00114 /// 00115 /// \param name 00116 /// The name of the property to get the enumerable status of. 00117 /// 00118 /// \return 00119 /// Returns true if the possible values for the specified property 00120 /// can be enumerated via the GetPropertyValues method. 00121 /// 00122 System::Boolean IsPropertyEnumerable (System::String* name); 00123 00124 /// \brief 00125 /// Access the values of the specified enumerable property. 00126 /// The property must respond TRUE to IsPropertyEnumerable. 00127 /// 00128 /// \param name 00129 /// The name of the property to get the collection of values for. 00130 /// 00131 /// \return 00132 /// A collection of datavaluesfor the enumerable property. 00133 /// 00134 __property NAMESPACE_OSGEO_FDO_RASTER::DataValueCollection* get_PropertyValues (System::String* name); 00135 00136 /// \brief 00137 /// Set the values of the specified enumerable property. 00138 /// The property must respond TRUE to IsPropertyEnumerable. 00139 /// Clients will need to use SetPropertyValues when creating an image 00140 /// with specific values for the enumerable property. 00141 /// An example would be setting a table of wavelength ranges corresponding 00142 /// to the false colour used to encode the image. 00143 /// 00144 /// \param name 00145 /// The name of the property to set the collection of values for. 00146 /// \param collection 00147 /// The collection of values for the enumerable property. 00148 /// 00149 __property System::Void set_PropertyValues (System::String* name, NAMESPACE_OSGEO_FDO_RASTER::DataValueCollection* collection); 00150 }; 00151 00152 END_NAMESPACE_OSGEO_FDO_RASTER 00153 00154
Comments or suggestions? Send us feedback. |