FDO .NET API Reference Feature Data Objects

mgIGeometryCapabilitiesImp.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\Connections\Capabilities\mgIGeometryCapabilities.h"
00022 
00023 class FdoIGeometryCapabilities;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES
00026 
00027 /// \ingroup (OSGeoFDOConnectionsCapabilities)
00028 /// \brief
00029 /// The IGeometryCapabilities class delineates available support for raster processing from a provider.
00030 private __gc class IGeometryCapabilitiesImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, 
00031                                               public NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES::IGeometryCapabilities
00032 {
00033 public:
00034     /// \brief
00035     /// Return the list of supported geometry types. For example, if a client wanted to know if a provider supported
00036     /// multi-polygons, it would call GetGeometryTypes and check if the MultiPolygon type was listed.
00037     /// 
00038     /// \return
00039     /// Returns the list of geometry types
00040     /// 
00041     __property NAMESPACE_OSGEO_COMMON::GeometryType get_GeometryTypes() [];
00042 
00043     /// \brief
00044     /// Return the list of supported component types. For example, if a client wanted to know if circular arcs were supported 
00045     /// by a provider, it would call GetGeometryComponentTypes and check for CircularArcSegment in the returned list.
00046     /// 
00047     /// \return
00048     /// Returns the list of component types
00049     /// 
00050     __property NAMESPACE_OSGEO_COMMON::GeometryComponentType get_GeometryComponentTypes() [];
00051 
00052     /// \brief
00053     /// Returns the supported dimensionalities which are based on the bit masks defined in the Dimensionality enum. 
00054     /// The Z and M bits indicate if the provider supports 3d or Measure dimensions in geometry data. The XY bit should be set too.
00055     /// 
00056     /// \return
00057     /// Returns the dimensionalities
00058     /// 
00059     __property System::Int32 get_Dimensionalities();
00060 
00061 /// \cond DOXYGEN-IGNORE
00062 protected:
00063     System::Void ReleaseUnmanagedObject();
00064 /// \endcond
00065 
00066 public private:
00067     IGeometryCapabilitiesImp(System::IntPtr unmanaged, System::Boolean autoDelete);
00068 
00069     inline FdoIGeometryCapabilities* GetImpObj();
00070 };
00071 
00072 END_NAMESPACE_OSGEO_FDO_CONNECTIONS_CAPABILITIES
00073 
00074 

Comments or suggestions? Send us feedback.