0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / AIS / AIS_GlobalStatus.cxx
1 // Created on: 1997-01-24
2 // Created by: Robert COUBLANC
3 // Copyright (c) 1997-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17
18 #include <AIS_GlobalStatus.hxx>
19 #include <Standard_Type.hxx>
20 #include <TColStd_ListIteratorOfListOfInteger.hxx>
21
22 AIS_GlobalStatus::AIS_GlobalStatus():
23 myStatus(AIS_DS_None),
24 myLayerIndex(0),
25 myIsHilit(Standard_False),
26 myHiCol(Quantity_NOC_WHITE),
27 mySubInt(Standard_False)
28 {  
29 }
30
31 AIS_GlobalStatus::AIS_GlobalStatus(const AIS_DisplayStatus DS,
32                                    const Standard_Integer DMode,
33                                    const Standard_Integer SMode,
34                                    const Standard_Boolean /*ishilighted*/,
35                                    const Quantity_NameOfColor TheHiCol,
36                                    const Standard_Integer Layer):
37 myStatus(DS),
38 myLayerIndex(Layer),
39 myIsHilit(Standard_False),
40 myHiCol(TheHiCol),
41 mySubInt(Standard_False)
42 {
43   myDispModes.Append(DMode);
44   mySelModes.Append(SMode);
45 }
46
47 void AIS_GlobalStatus::RemoveDisplayMode(const Standard_Integer aMode)
48 {
49   TColStd_ListIteratorOfListOfInteger anIt (myDispModes);
50   for (; anIt.More(); anIt.Next())
51   {
52     if (anIt.Value() == aMode)
53     {
54       myDispModes.Remove (anIt);
55       return;
56     }
57   }
58 }
59
60 void AIS_GlobalStatus::RemoveSelectionMode(const Standard_Integer aMode)
61 {
62   TColStd_ListIteratorOfListOfInteger anIt (mySelModes);
63   for (; anIt.More(); anIt.Next())
64   {
65     if (anIt.Value() == aMode)
66     {
67       mySelModes.Remove (anIt);
68       return;
69     }
70   }
71 }
72
73 void AIS_GlobalStatus::ClearSelectionModes()
74 {
75   mySelModes.Clear();
76 }
77
78 Standard_Boolean AIS_GlobalStatus::IsDModeIn(const Standard_Integer aMode) const 
79 {
80   TColStd_ListIteratorOfListOfInteger anIt (myDispModes);
81   for (; anIt.More(); anIt.Next())
82   {
83     if (anIt.Value() == aMode)
84     {
85       return Standard_True;
86     }
87   }
88   return Standard_False;
89 }
90
91 Standard_Boolean AIS_GlobalStatus::IsSModeIn(const Standard_Integer aMode) const 
92 {
93   TColStd_ListIteratorOfListOfInteger anIt (mySelModes);
94   for (; anIt.More(); anIt.Next())
95   {
96     if (anIt.Value() == aMode)
97     {
98       return Standard_True;
99     }
100   }
101   return Standard_False;
102 }