FDO .NET API Reference Feature Data Objects

mgGeometricPropertyDefinition.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 */
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.