1 // File : SMESH_LogicalFilter.cxx
4 #include "SMESH_LogicalFilter.hxx"
6 //=======================================================================
7 // name : SMESH_LogicalFilter::SMESH_LogicalFilter
8 // Purpose : Constructor
9 //=======================================================================
10 SMESH_LogicalFilter::SMESH_LogicalFilter (const QPtrList<SUIT_SelectionFilter>& theFilters,
13 setFilters(theFilters);
14 setOperation(theLogOp);
17 //=======================================================================
18 // name : SMESH_LogicalFilter::~SMESH_LogicalFilter
19 // Purpose : Destructor
20 //=======================================================================
21 SMESH_LogicalFilter::~SMESH_LogicalFilter()
25 //=======================================================================
26 // name : SMESH_LogicalFilter::IsOk
27 // Purpose : Verify validity of entry object
28 //=======================================================================
29 bool SMESH_LogicalFilter::isOk (const SUIT_DataOwner* owner) const
32 QPtrListIterator<SUIT_SelectionFilter> it (myFilters);
33 SUIT_SelectionFilter* filter;
34 for (; ((filter = it.current()) != 0) && res; ++it)
36 if (myOperation == LO_OR && filter->isOk(owner))
38 if (myOperation == LO_AND && !filter->isOk(owner))
40 if (myOperation == LO_NOT)
41 return !filter->isOk(owner);
44 return (myOperation != LO_OR);
47 //=======================================================================
48 // name : SMESH_LogicalFilter::setFilters
49 // Purpose : Set new list of filters. Old wilters are removed
50 //=======================================================================
51 void SMESH_LogicalFilter::setFilters (const QPtrList<SUIT_SelectionFilter>& theFilters)
53 myFilters = theFilters;
56 //=======================================================================
57 // name : SMESH_LogicalFilter::setOperation
58 // Purpose : Set logical operation
59 //=======================================================================
60 void SMESH_LogicalFilter::setOperation (const int theLogOp)
62 myOperation = theLogOp;
65 //=======================================================================
66 // name : SMESH_LogicalFilter::getFilters
67 // Purpose : Get list of filters
68 //=======================================================================
69 const QPtrList<SUIT_SelectionFilter> SMESH_LogicalFilter::getFilters() const
74 //=======================================================================
75 // name : SMESH_LogicalFilter::getOperation
76 // Purpose : Get logical operation
77 //=======================================================================
78 int SMESH_LogicalFilter::getOperation() const