FDO API Reference | Feature Data Objects |
00001 #ifndef _UNARYLOGICALOPERATOR_H_ 00002 #define _UNARYLOGICALOPERATOR_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/Filter.h> 00028 #include <Fdo/Filter/LogicalOperator.h> 00029 #include <Fdo/Filter/UnaryLogicalOperations.h> 00030 00031 /// \brief 00032 /// The FdoUnaryLogicalOperator class derives from FdoLogicalOperator and allows a 00033 /// logical "Not" to be performed against a filter. 00034 class FdoUnaryLogicalOperator : public FdoLogicalOperator 00035 { 00036 protected: 00037 /// \cond DOXYGEN-IGNORE 00038 /// Constructs a default instance of a UnaryLogicalOperator. 00039 FdoUnaryLogicalOperator(); 00040 00041 /// Constructs an instance of a UnaryLogicalOperator using the specified 00042 /// arguments. 00043 FdoUnaryLogicalOperator(FdoFilter* operand, FdoUnaryLogicalOperations operation); 00044 00045 virtual ~FdoUnaryLogicalOperator(); 00046 00047 virtual void Dispose(); 00048 /// \endcond 00049 00050 public: 00051 /// \brief 00052 /// Constructs a default instance of an FdoUnaryLogicalOperator. 00053 /// 00054 /// \return 00055 /// Returns FdoUnaryLogicalOperator 00056 /// 00057 FDO_API static FdoUnaryLogicalOperator* Create(); 00058 00059 /// \brief 00060 /// Constructs an instance of an FdoUnaryLogicalOperator using the specified arguments. 00061 /// 00062 /// \param operand 00063 /// Input operand 00064 /// \param operation 00065 /// Input operation 00066 /// 00067 /// \return 00068 /// Returns FdoUnaryLogicalOperator 00069 /// 00070 FDO_API static FdoUnaryLogicalOperator* Create(FdoFilter* operand, FdoUnaryLogicalOperations operation); 00071 00072 /// \brief 00073 /// Gets the unary operation to be performed on the operand. 00074 /// 00075 /// \return 00076 /// Returns the unary operation 00077 /// 00078 FDO_API FdoUnaryLogicalOperations GetOperation(); 00079 00080 /// \brief 00081 /// Sets the unary operation to be performed on the operand. 00082 /// 00083 /// \param value 00084 /// Input the unary operation 00085 /// 00086 /// \return 00087 /// Returns nothing 00088 /// 00089 FDO_API void SetOperation(FdoUnaryLogicalOperations value); 00090 00091 /// \brief 00092 /// Gets the FdoFilter operand to apply the operator to. 00093 /// 00094 /// \return 00095 /// Returns filter 00096 /// 00097 FDO_API FdoFilter* GetOperand(); 00098 00099 /// \brief 00100 /// Sets the FdoFilter operand to apply the operator to. 00101 /// 00102 /// \param value 00103 /// Input filter 00104 /// 00105 /// \return 00106 /// Returns nothing 00107 /// 00108 FDO_API void SetOperand(FdoFilter* value); 00109 00110 /// \brief 00111 /// Overrides FdoFilter.Process to pass the FdoUnaryLogicalOperator to the 00112 /// appropriate filter processor operation. 00113 /// 00114 /// \param p 00115 /// Input filter processor 00116 /// 00117 /// \return 00118 /// Returns nothing 00119 /// 00120 FDO_API void Process(FdoIFilterProcessor* p); 00121 00122 /// \cond DOXYGEN-IGNORE 00123 /// \brief 00124 /// This is an internal method. It returns the well defined text representation of the filter. 00125 /// 00126 /// \param pIdCol 00127 /// A identifier collection that contains all the computed identifier used by the filter 00128 /// 00129 /// \return 00130 /// Returns the well defined text string 00131 /// 00132 FdoString* ToStringInternal( FdoIdentifierCollection *pIdCol ); 00133 /// \endcond 00134 00135 private: 00136 FdoFilter* m_operand; 00137 FdoUnaryLogicalOperations m_operation; 00138 }; 00139 #endif 00140 00141
Comments or suggestions? Send us feedback. |