FDO .NET API Reference Feature Data Objects

mgIGeometryImp.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 
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.