FDO .NET API Reference | Feature Data Objects |
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\Filter\mgBinaryLogicalOperations.h" 00022 00023 class FdoFilter; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_FILTER 00026 public __gc __interface IFilterProcessor;; 00027 00028 /// \ingroup (OSGeoFDOFilter) 00029 /// \brief 00030 /// Filter is an abstract class which acts as a base class for condition and operator classes 00031 /// that can occur in a filter expression tree. The Filter class contains 00032 /// operations for converting between the text and expression tree representation 00033 /// of a filter. 00034 public __gc class Filter : public NAMESPACE_OSGEO_RUNTIME::Disposable 00035 { 00036 public: 00037 /// \brief 00038 /// Static operation that parses the well defined text representation and 00039 /// returns a Filter instance. 00040 /// 00041 /// \param filterText 00042 /// Input well defined text string 00043 /// 00044 /// \return 00045 /// Returns root node of parse tree 00046 /// 00047 static NAMESPACE_OSGEO_FDO_FILTER::Filter* Parse(System::String* filterText); 00048 00049 /// \brief 00050 /// Abstract operation that takes an IFilterProcessor as an argument. 00051 /// Concrete filter subclasses must override this method and pass themselves 00052 /// as an argument to the appropriate filter processor operation. 00053 /// 00054 /// \param processor 00055 /// Input filter processor 00056 /// 00057 /// \return 00058 /// Returns nothing 00059 /// 00060 System::Void Process(NAMESPACE_OSGEO_FDO_FILTER::IFilterProcessor* processor); 00061 00062 /// \brief 00063 /// Converts the filter expression to its well 00064 /// defined text representation. 00065 /// 00066 /// \return 00067 /// Returns well defined text string 00068 /// 00069 System::String* ToString(); 00070 00071 /// \brief 00072 /// Static operation that combines two filters using the specified binary 00073 /// logical operation. 00074 /// 00075 /// \param leftFilter 00076 /// Input left hand expression as filter expression 00077 /// \param operation 00078 /// Input binary logical operation 00079 /// \param rightFilter 00080 /// Input right hand expression as filter expression 00081 /// 00082 /// \return 00083 /// Returns new filter node 00084 /// 00085 NAMESPACE_OSGEO_FDO_FILTER::Filter* Combine( NAMESPACE_OSGEO_FDO_FILTER::Filter* leftFilter, NAMESPACE_OSGEO_FDO_FILTER::BinaryLogicalOperations operation, NAMESPACE_OSGEO_FDO_FILTER::Filter* rightFilter); 00086 00087 /// \brief 00088 /// Static operation that combines two filters using the specified binary 00089 /// logical operation. 00090 /// 00091 /// \param leftFilter 00092 /// Input left hand expression as well defined text string 00093 /// \param operation 00094 /// Input binary logical operation 00095 /// \param rightFilter 00096 /// Input right hand expression as filter expression 00097 /// 00098 /// \return 00099 /// Returns new filter node 00100 /// 00101 NAMESPACE_OSGEO_FDO_FILTER::Filter* Combine(System::String* leftFilter, NAMESPACE_OSGEO_FDO_FILTER::BinaryLogicalOperations operation, NAMESPACE_OSGEO_FDO_FILTER::Filter* rightFilter); 00102 00103 /// \brief 00104 /// Static operation that combines two filters using the specified binary 00105 /// logical operation. 00106 /// 00107 /// \param leftFilter 00108 /// Input left hand expression as filter expression 00109 /// \param operation 00110 /// Input binary logical operation 00111 /// \param rightFilter 00112 /// Input right hand expression as well defined text string 00113 /// 00114 /// \return 00115 /// Returns new filter node 00116 /// 00117 NAMESPACE_OSGEO_FDO_FILTER::Filter* Combine(NAMESPACE_OSGEO_FDO_FILTER::Filter* leftFilter, NAMESPACE_OSGEO_FDO_FILTER::BinaryLogicalOperations operation, System::String* rightFilter); 00118 00119 /// \brief 00120 /// Static operation that combines two filters using the specified binary 00121 /// logical operation. 00122 /// 00123 /// \param leftFilter 00124 /// Input left hand expression as well defined text string 00125 /// \param operation 00126 /// Input binary logical operation 00127 /// \param rightFilter 00128 /// Input right hand expression as well defined text string 00129 /// 00130 /// \return 00131 /// Returns new filter node 00132 /// 00133 NAMESPACE_OSGEO_FDO_FILTER::Filter* Combine(System::String* leftFilter, NAMESPACE_OSGEO_FDO_FILTER::BinaryLogicalOperations operation, System::String* rightFilter); 00134 00135 /// \brief 00136 /// Constructs a Filter object based on an unmanaged instance of the object 00137 /// 00138 /// \param unmanaged 00139 /// Input A Pointer to the unmanaged object. 00140 /// 00141 /// \param autoDelete 00142 /// Input Indicates if the constructed object should be automatically deleted 00143 /// once it no longer referenced. 00144 /// 00145 Filter(System::IntPtr unmanaged, System::Boolean autoDelete); 00146 00147 public private: 00148 inline FdoFilter* GetImpObj(); 00149 00150 /// \cond DOXYGEN-IGNORE 00151 protected: 00152 System::Void ReleaseUnmanagedObject(); 00153 /// \endcond 00154 }; 00155 00156 END_NAMESPACE_OSGEO_FDO_FILTER 00157 00158
Comments or suggestions? Send us feedback. |