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 00020 #pragma once 00021 00022 #include "mgIGeometry.h" 00023 00024 class FdoIGeometry; 00025 00026 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00027 public __gc __interface IEnvelope; 00028 END_NAMESPACE_OSGEO_GEOMETRY 00029 00030 BEGIN_NAMESPACE_OSGEO_GEOMETRY 00031 00032 /// \ingroup (OSGeoFDOGeometry) 00033 /// \brief 00034 /// The IGeometryImp class defines the properties and methods common to all geometric types. 00035 /// IGeometryImp is a concreate implementation of IGeometry. 00036 public __gc class IGeometryImp 00037 : public NAMESPACE_OSGEO_RUNTIME::Disposable, public NAMESPACE_OSGEO_GEOMETRY::IGeometry 00038 { 00039 public: 00040 /// \brief 00041 /// Constructs a managed object based on an unmanaged instance of the object 00042 /// 00043 /// \param unmanaged 00044 /// Input A Pointer to the unmanaged object. 00045 /// 00046 /// \param autoDelete 00047 /// Input Indicates if the constructed element should be automatically deleted 00048 /// once it no longer referenced. 00049 /// 00050 IGeometryImp(System::IntPtr unmanaged, System::Boolean autoDelete); 00051 00052 /// \cond DOXYGEN-IGNORE 00053 protected: 00054 System::Void ReleaseUnmanagedObject(); 00055 /// \endcond 00056 00057 public: 00058 /// \brief 00059 /// Gets the envelope for the Geometry. 00060 /// 00061 /// \return 00062 /// Returns the envelope 00063 /// 00064 __property NAMESPACE_OSGEO_GEOMETRY::IEnvelope* get_Envelope(); 00065 00066 /// \brief 00067 /// Gets the dimensionality of ordinates in this object. 00068 /// 00069 /// \remarks 00070 /// Values are from the Dimensionality enumeration. 00071 /// A return type of "Int32" is used instead of the enumeration, catering to typical use with bit masking. 00072 /// 00073 /// \return 00074 /// Returns the ordinate dimensionality 00075 /// 00076 __property System::Int32 get_Dimensionality(); 00077 00078 /// \brief 00079 /// Gets the type of the most-derived interface 00080 /// in the Geometry package for this object 00081 /// 00082 /// \remarks 00083 /// The derived type indicates to what class the object may safely be cast. 00084 /// 00085 /// \return 00086 /// Returns the derived type 00087 /// 00088 __property NAMESPACE_OSGEO_COMMON::GeometryType get_DerivedType(); 00089 00090 /// \brief 00091 /// Gets the text string representation of this Geometry. 00092 /// 00093 /// \remarks 00094 /// This object retains ownership of the string. 00095 /// The caller should NOT attempt to free it. 00096 /// The text string may be retained in memory by the object indefinitely. 00097 /// Calling this method on a large number of Geometries that are retained 00098 /// in memory may cause a noticable increase in memory consumption. 00099 /// 00100 /// \return 00101 /// Returns the text string 00102 /// 00103 __property System::String* get_Text(); 00104 00105 public private: 00106 FdoIGeometry *GetImpObj(); 00107 }; 00108 00109 END_NAMESPACE_OSGEO_GEOMETRY 00110 00111
Comments or suggestions? Send us feedback. |