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\Schema\mgPropertyDefinition.h" 00022 #include "FDO\Schema\mgPropertyType.h" 00023 00024 class FdoGeometricPropertyDefinition; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00027 00028 /// \ingroup (OSGeoFDOSchema) 00029 /// \brief 00030 /// GeometricPropertyDefinition derives from PropertyDefinition and represents a 00031 /// geometric value. Geometric properties can take on any of the geometric types 00032 /// listed in the GeometricType enumeration. 00033 /// Note: Geometric properties do 00034 /// not actually store the coordinate system or measure units, this is to enable 00035 /// the use of the same schema in different geometric locals. GeometricType 00036 /// informs the client application what types of geometric primitives it can 00037 /// expect when reading a particular geometric property (and what types they can 00038 /// store in the property on insert/update). The client application can 00039 /// interpret the actual geometry values as it wants, e.g., displaying and 00040 /// manipulating the vertices of a Polyline as a group of independent points. 00041 public __gc class GeometricPropertyDefinition : public NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition 00042 { 00043 public: 00044 /// \brief 00045 /// Constructs a default instance of an GeometricPropertyDefinition. 00046 /// 00047 GeometricPropertyDefinition(); 00048 00049 /// \brief 00050 /// Constructs an instance of an GeometricPropertyDefinition using the 00051 /// specified arguments. 00052 /// 00053 /// \param name 00054 /// Input name 00055 /// \param description 00056 /// Input description 00057 /// 00058 GeometricPropertyDefinition(System::String* name, System::String* description); 00059 00060 /// \brief 00061 /// Constructs an instance of an GeometricPropertyDefinition using the 00062 /// specified arguments. 00063 /// 00064 /// \param name 00065 /// Input name 00066 /// \param description 00067 /// Input description 00068 /// \param system 00069 /// Input true if this is a system generated property, false otherwise. 00070 /// <p><b>Note:</b> A client would never set system to true, only a provider. 00071 /// 00072 GeometricPropertyDefinition(System::String* name, System::String* description, System::Boolean system); 00073 00074 /// \brief 00075 /// Gets the concrete property type. 00076 /// 00077 /// \return 00078 /// Returns the concrete property type 00079 /// 00080 __property NAMESPACE_OSGEO_FDO_SCHEMA::PropertyType get_PropertyType(); 00081 00082 /// \brief 00083 /// Gets the GeometricTypes that can be stored in this geometric property. 00084 /// The returned value may be any combination of the values from the 00085 /// GeometricType enumeration combined via a bit-wise or operation. 00086 /// 00087 /// \return 00088 /// Returns the GeometricTypes that can be stored in this geometric property 00089 /// 00090 __property System::Int32 get_GeometryTypes(); 00091 00092 /// \brief 00093 /// Sets the GeometricTypes that can be stored in this geometric property. 00094 /// The value may be any combination of the values from GeometricType 00095 /// enumeration combined via a bit-wise or operation. 00096 /// 00097 /// \param value 00098 /// Input the GeometricTypes that can be stored in this geometric property 00099 /// 00100 __property System::Void set_GeometryTypes(System::Int32 value); 00101 00102 /// \brief 00103 /// Gets the specific geometry types that can be stored in this geometric 00104 /// property. The returned value is a list of geometry types that are 00105 /// supported, with length being the number of types returned. 00106 /// 00107 /// \param length 00108 /// The parameter is used to return the number of geometry types being 00109 /// returned by the function. 00110 /// 00111 /// \return 00112 /// Returns a list of geometry types that are supported. 00113 /// 00114 __property NAMESPACE_OSGEO_COMMON::GeometryType get_SpecificGeometryTypes(System::Int32 &length)[]; 00115 00116 /// \brief 00117 /// Sets the specific set of geometry types that can be stored in this 00118 /// geometric property. The provided value is a list of geometry types 00119 /// that are supported. Usually, one specific type is supported, but 00120 /// there can be more than one. 00121 /// 00122 /// \param types 00123 /// The specific set of geometry types that can be stored in this 00124 /// geometric property. 00125 /// 00126 /// \param length 00127 /// Indicates the number of geometry types being stored in the provided 00128 /// set of geometry types. 00129 /// 00130 __property System::Void set_SpecificGeometryTypes(NAMESPACE_OSGEO_COMMON::GeometryType types[], System::Int32 length); 00131 00132 /// \brief 00133 /// Returns a Boolean value that indicates if this geometric property is 00134 /// read-only. 00135 /// 00136 /// \return 00137 /// Returns a Boolean value that specifies whether this geometric property is 00138 /// read-only 00139 /// 00140 __property System::Boolean get_ReadOnly(); 00141 00142 /// \brief 00143 /// Sets a Boolean value that specifies whether this geometric property is 00144 /// read-only. 00145 /// 00146 /// \param value 00147 /// Input a Boolean value that specifies whether this geometric property is 00148 /// read-only 00149 /// 00150 __property System::Void set_ReadOnly(System::Boolean value); 00151 00152 /// \brief 00153 /// Gets a Boolean value that indicates if the geometry of this property 00154 /// include elevation values. 00155 /// 00156 /// \return 00157 /// Returns a Boolean value that determines if the geometry of this property 00158 /// includes elevation values 00159 /// 00160 __property System::Boolean get_HasElevation(); 00161 00162 /// \brief 00163 /// Sets a Boolean value that determines if the geometry of this property 00164 /// includes elevation values. 00165 /// 00166 /// \param value 00167 /// Input a Boolean value that determines if the geometry of this property 00168 /// includes elevation values 00169 /// 00170 __property System::Void set_HasElevation(System::Boolean value); 00171 00172 /// \brief 00173 /// Gets a Boolean value that indicates if the geometry of this property 00174 /// includes measurement values that can be used for dynamic segmentation. 00175 /// 00176 /// \return 00177 /// Returns a Boolean value that indicates if the geometry of this property 00178 /// includes measurement values 00179 /// 00180 __property System::Boolean get_HasMeasure(); 00181 00182 /// \brief 00183 /// Sets a Boolean value that determines if the geometry of this property 00184 /// includes measurement values that can be used for dynamic segmentation. 00185 /// 00186 /// \param value 00187 /// Input a Boolean value that determines if the geometry of this property 00188 /// includes measurement values 00189 /// 00190 __property System::Void set_HasMeasure(System::Boolean value); 00191 00192 /// \brief 00193 /// Sets/add a Spatial Context association to this geometric property. 00194 /// 00195 /// \param value 00196 /// Input the Spatial Context name to be added/set. 00197 /// Defaults to the active Spatial Context. 00198 /// 00199 __property System::Void set_SpatialContextAssociation(System::String *value); 00200 00201 /// \brief 00202 /// Gets the Spatial Context name associated to this geometric property. 00203 /// 00204 /// \return 00205 /// Returns a String value representing the Spatial Context name. 00206 /// If NULL then the geometric property is associated with all the Spatial Contexts 00207 /// in the datastore (supports multiple geometric representations via this property). 00208 /// 00209 __property System::String * get_SpatialContextAssociation(); 00210 00211 /// \brief 00212 /// Constructs a GeometricPropertyDefinition object based on an unmanaged instance of the object 00213 /// 00214 /// \param unmanaged 00215 /// Input A Pointer to the unmanaged object. 00216 /// 00217 /// \param autoDelete 00218 /// Input Indicates if the constructed object should be automatically deleted 00219 /// once it no longer referenced. 00220 /// 00221 GeometricPropertyDefinition(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_SCHEMA::PropertyDefinition(unmanaged, autoDelete) 00222 { 00223 00224 } 00225 00226 public private: 00227 inline FdoGeometricPropertyDefinition* GetImpObj(); 00228 }; 00229 00230 END_NAMESPACE_OSGEO_FDO_SCHEMA 00231 00232
Comments or suggestions? Send us feedback. |