FDO .NET API Reference Feature Data Objects

mgIRasterPropertyDictionary.h

Go to the documentation of this file.
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.