summaryrefslogtreecommitdiff
path: root/src/SelectMgr/SelectMgr_CompositionFilter.cxx
blob: 9afe1ec818e83f5841d7bbedf48c7f76f0a4e153 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// File:	SelectMgr_CompositionFilter.cxx
// Created:	Mon Jan 29 17:49:34 1996
// Author:	Robert COUBLANC
//		<rob@fidox>


#include <SelectMgr_CompositionFilter.ixx>
#include <SelectMgr_ListIteratorOfListOfFilter.hxx>

void SelectMgr_CompositionFilter::Add(const Handle(SelectMgr_Filter)& afilter)
{
  myFilters.Append(afilter);
}

void SelectMgr_CompositionFilter::Remove(const Handle(SelectMgr_Filter)& afilter)
{
  SelectMgr_ListIteratorOfListOfFilter It(myFilters);
  for(;It.More();It.Next()){
    if (afilter==It.Value()){ 
      myFilters.Remove(It);
      return;
    }
  }
}


Standard_Boolean SelectMgr_CompositionFilter::IsEmpty() const
{
  return myFilters.IsEmpty();
}

Standard_Boolean SelectMgr_CompositionFilter::IsIn(const Handle(SelectMgr_Filter)& afilter) const
{
  SelectMgr_ListIteratorOfListOfFilter It(myFilters);
  for(;It.More();It.Next())
    if (afilter==It.Value()) 
      return Standard_True;
  return Standard_False;

}

void  SelectMgr_CompositionFilter::Clear()
{
  myFilters.Clear();
}


Standard_Boolean SelectMgr_CompositionFilter::ActsOn(const TopAbs_ShapeEnum aStandardMode) const
{
  SelectMgr_ListIteratorOfListOfFilter It(myFilters);
  for(;It.More();It.Next()){
    if (It.Value()->ActsOn(aStandardMode))
      return Standard_True;
  }
  
  return Standard_False;
}