FDO API Reference | Feature Data Objects |
00001 #ifndef _IGEOMETRYCAPABILITIES_H_ 00002 #define _IGEOMETRYCAPABILITIES_H_ 00003 // 00004 00005 // 00006 // Copyright (C) 2004-2006 Autodesk, Inc. 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of version 2.1 of the GNU Lesser 00010 // General Public License as published by the Free Software Foundation. 00011 // 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 // Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with this library; if not, write to the Free Software 00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 // 00021 00022 #ifdef _WIN32 00023 #pragma once 00024 #endif 00025 00026 #include <FdoStd.h> 00027 #include <Common/GeometryType.h> 00028 00029 /// \brief 00030 /// The FdoIGeometryCapabilities class delineates available support for raster processing from a provider. 00031 class FdoIGeometryCapabilities : public FdoIDisposable 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 /// \param length 00039 /// Output the number of geometry types. 00040 /// 00041 /// \return 00042 /// Returns the list of geometry types 00043 /// 00044 FDO_API virtual FdoGeometryType* GetGeometryTypes( FdoInt32& length) = 0; 00045 00046 /// \brief 00047 /// Return the list of supported component types. For example, if a client wanted to know if circular arcs were supported 00048 /// by a provider, it would call GetGeometryComponentTypes and check for CircularArcSegment in the returned list. 00049 /// 00050 /// \param length 00051 /// Output the number of component types. 00052 /// 00053 /// \return 00054 /// Returns the list of component types 00055 /// 00056 FDO_API virtual FdoGeometryComponentType* GetGeometryComponentTypes( FdoInt32& length ) = 0; 00057 00058 /// \brief 00059 /// Returns the supported dimensionalities which are based on the bit masks defined in the FdoDimensionality enum. 00060 /// The Z and M bits indicate if the provider supports 3d or Measure dimensions in geometry data. The XY bit should be set too. 00061 /// 00062 /// \return 00063 /// Returns the dimensionalities 00064 /// 00065 FDO_API virtual FdoInt32 GetDimensionalities() = 0; 00066 }; 00067 00068 #endif //_IGEOMETRYCAPABILITIES_H_ 00069 00070
Comments or suggestions? Send us feedback. |