FDO .NET API Reference Feature Data Objects

mgIPolygonImp.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 #include "mgISurfaceAbstractImp.h"
00021 #include "mgIPolygon.h"
00022 
00023 class FdoIPolygon;
00024 
00025 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00026 public __gc __interface ILinearRing;
00027 END_NAMESPACE_OSGEO_GEOMETRY
00028 
00029 BEGIN_NAMESPACE_OSGEO_GEOMETRY
00030 
00031 /// \ingroup (OSGeoFDOGeometry)
00032 /// \brief
00033 /// The IPolygonImp class is a polygon Geometry type.  
00034 /// IPolygonImp is defined by one exterior boundary and zero or more 
00035 /// interior boundaries.
00036 /// Each of the boundaries must be a closed, simple LinearRing.
00037 public __gc class IPolygonImp :
00038     public NAMESPACE_OSGEO_GEOMETRY::ISurfaceAbstractImp, public NAMESPACE_OSGEO_GEOMETRY::IPolygon
00039 {
00040 public:
00041     /// \brief
00042     /// Constructs a managed object based on an unmanaged instance of the object
00043     /// 
00044     /// \param unmanaged 
00045     /// Input A Pointer to the unmanaged object.
00046     /// 
00047     /// \param autoDelete 
00048     /// Input Indicates if the constructed element should be automatically deleted 
00049     /// once it no longer referenced.
00050     /// 
00051     IPolygonImp(System::IntPtr unmanaged, System::Boolean autoDelete);
00052 
00053 public private:
00054     FdoIPolygon *GetImpObj();
00055 
00056 public:
00057     /// \brief
00058     /// Gets the ring defining the outer boundary.
00059     /// 
00060     /// \return
00061     /// Returns the exterior ring
00062     /// 
00063     __property NAMESPACE_OSGEO_GEOMETRY::ILinearRing* get_ExteriorRing();
00064 
00065     /// \brief
00066     /// Gets the number of interior rings.
00067     /// 
00068     /// \return
00069     /// Returns the number of interior rings
00070     /// 
00071     __property System::Int32 get_InteriorRingCount();
00072 
00073     /// \brief
00074     /// Gets the interior ring at the specified (zero-based) index.
00075     /// 
00076     /// \param index 
00077     /// Input Zero-based index in the object's list of interior rings.
00078     /// 
00079     /// \return
00080     /// Returns the interior ring
00081     /// 
00082     NAMESPACE_OSGEO_GEOMETRY::ILinearRing* GetInteriorRing(System::Int32 index);
00083     
00084 };
00085 
00086 END_NAMESPACE_OSGEO_GEOMETRY
00087 
00088 

Comments or suggestions? Send us feedback.