FDO API Reference | Feature Data Objects |
00001 #ifndef _IFILTERCAPABILITIES_H_ 00002 #define _IFILTERCAPABILITIES_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 <Fdo/Filter/ConditionType.h> 00028 #include <Fdo/Filter/DistanceOperations.h> 00029 #include <Fdo/Filter/SpatialOperations.h> 00030 00031 /// \brief 00032 /// The FdoIFilterCapabilities interface declares the feature provider's level of support for FdoFilter classes. 00033 class FdoIFilterCapabilities : public FdoIDisposable 00034 { 00035 public: 00036 /// \brief 00037 /// Returns an array of FdoConditionType objects the feature provider supports. 00038 /// 00039 /// \param length 00040 /// Output the number of condition types 00041 /// 00042 /// \return 00043 /// Returns the list of condition types 00044 /// 00045 FDO_API virtual FdoConditionType* GetConditionTypes(FdoInt32& length) = 0; 00046 00047 /// \brief 00048 /// Returns an array of FdoSpatialOperation objects the feature provider supports. 00049 /// 00050 /// \param length 00051 /// Output the number of spatial operations 00052 /// 00053 /// \return 00054 /// Returns the list of spartial operations 00055 /// 00056 FDO_API virtual FdoSpatialOperations* GetSpatialOperations(FdoInt32& length) = 0; 00057 00058 /// \brief 00059 /// Returns an array of FdoDistanceOperation objects the feature provider supports. 00060 /// 00061 /// \param length 00062 /// Output the number of distance operations 00063 /// 00064 /// \return 00065 /// Returns the list of distance operations 00066 /// 00067 FDO_API virtual FdoDistanceOperations* GetDistanceOperations(FdoInt32& length) = 0; 00068 00069 /// \brief 00070 /// Determines if the feature provider supports geodesic distance measurement. Returns false if the feature provider supports only linear distance measurement. 00071 /// 00072 /// \return 00073 /// Returns true if the feature provider supports geodesic distance measurement 00074 /// 00075 FDO_API virtual bool SupportsGeodesicDistance() = 0; 00076 00077 /// \brief 00078 /// Determines if spatial and distance operations can be applied between two 00079 /// geometric properties. Returns false if spatial and distance operations can be applied only between 00080 /// a geometric property and a literal geometry. 00081 /// 00082 /// \return 00083 /// Returns true if spatial and distance operations can be applied 00084 /// 00085 FDO_API virtual bool SupportsNonLiteralGeometricOperations() = 0; 00086 }; 00087 #endif 00088 00089
Comments or suggestions? Send us feedback. |