0022685: Missing parentheses around trigraph operator
[occt.git] / src / Aspect / Aspect_TypeMapEntry.cxx
1 // File         Aspect_TypeMapEntry.cxx
2 // Created      Septembre 1993
3 // Author       GG
4
5 //-Copyright    MatraDatavision 1991,1992
6
7 //-Version
8
9 //-Design       Declaration des variables specifiques aux Entries de 
10 //              Types de trait
11
12 //-Warning      Une entry est definie par un index associee a un Line style
13
14 //-References
15
16 //-Language     C++ 2.0
17
18 //-Declarations
19
20 // for the class
21 #include <Aspect_TypeMapEntry.ixx>
22 #include <TColQuantity_Array1OfLength.hxx>
23 //-Aliases
24
25 //-Global data definitions
26
27 //      MyType                  : LineStyle from Aspect
28 //      MyIndex                 : Integer from Standard
29 //      MyTypeIsDef             : Boolean from Standard
30 //      MyIndexIsDef            : Boolean from Standard
31
32 //-Constructors
33
34 //-Destructors
35
36 //-Methods, in order
37
38 Aspect_TypeMapEntry::Aspect_TypeMapEntry() {
39
40         MyTypeIsDef     = Standard_True;
41         MyIndexIsDef    = Standard_True;
42         MyIndex         = 0;
43         MyType.SetValues (Aspect_TOL_SOLID);
44
45 }
46
47 Aspect_TypeMapEntry::Aspect_TypeMapEntry (const Standard_Integer index, const Aspect_LineStyle &style) {
48
49         MyTypeIsDef     = Standard_True;
50         MyIndexIsDef    = Standard_True;
51         MyIndex         = index;
52         MyType          = style;
53
54 }
55
56 Aspect_TypeMapEntry::Aspect_TypeMapEntry (const Aspect_TypeMapEntry& entry) {
57
58         if ( !entry.MyTypeIsDef || !entry.MyIndexIsDef ) {
59                 Aspect_BadAccess::Raise("Unallocated TypeMapEntry") ;
60         }
61         else {
62                 MyTypeIsDef     = Standard_True;
63                 MyIndexIsDef    = Standard_True;
64                 MyIndex         = entry.MyIndex;
65                 MyType          = entry.MyType;
66         }
67 }
68
69 void Aspect_TypeMapEntry::SetValue (const Standard_Integer index, const Aspect_LineStyle &style) {
70
71         MyTypeIsDef     = Standard_True;
72         MyIndexIsDef    = Standard_True;
73         MyIndex         = index;
74         MyType          = style;
75
76 }
77
78 void Aspect_TypeMapEntry::SetValue (const Aspect_TypeMapEntry& entry) {
79
80         if ( !entry.MyTypeIsDef || !entry.MyIndexIsDef ) {
81                 Aspect_BadAccess::Raise("Unallocated TypeMapEntry") ;
82         }
83         else {
84                 MyTypeIsDef     = Standard_True;
85                 MyIndexIsDef    = Standard_True;
86                 MyIndex         = entry.MyIndex;
87                 MyType          = entry.MyType;
88         }
89
90 }
91
92 void Aspect_TypeMapEntry::SetType (const Aspect_LineStyle &style) {
93
94         MyTypeIsDef     = Standard_True;
95         MyType          = style;
96
97 }
98
99 const Aspect_LineStyle& Aspect_TypeMapEntry::Type () const {
100
101         if ( !MyTypeIsDef || !MyIndexIsDef ) 
102                 Aspect_BadAccess::Raise("Unallocated TypeMapEntry") ;
103
104         return MyType;
105
106 }
107
108 void Aspect_TypeMapEntry::SetIndex (const Standard_Integer index) {
109
110         MyTypeIsDef     = Standard_True;
111         MyIndex         = index;
112
113 }
114
115 Standard_Integer Aspect_TypeMapEntry::Index () const {
116
117         if ( !MyTypeIsDef || !MyIndexIsDef ) 
118                 Aspect_BadAccess::Raise("Unallocated TypeMapEntry");
119
120         return MyIndex;
121
122 }
123
124 Standard_Boolean Aspect_TypeMapEntry::IsAllocated () const {
125
126         return ( MyTypeIsDef && MyIndexIsDef ) ; 
127
128 }
129
130 void Aspect_TypeMapEntry::Free () {
131
132         MyTypeIsDef     = Standard_False;
133         MyIndexIsDef    = Standard_False;
134
135 }
136
137 void Aspect_TypeMapEntry::Dump () const {
138
139   Aspect_TypeOfLine style = MyType.Style() ;
140   Standard_Integer i,length = MyType.Length() ;
141
142   cout << " Aspect_TypeMapEntry::Dump ()\n";
143   cout << "      MyTypeIsDef : " << (MyTypeIsDef ? "True\n" : "False\n");
144   cout << "      MyIndexIsDef : " << (MyIndexIsDef ? "True\n" : "False\n");
145   cout << "      LineStyle : " << (Standard_Integer) style << " Length : " << length << "\n";//WNT
146   if( length ) {
147     for( i=(MyType.Values()).Lower() ; i<=(MyType.Values()).Upper() ; i++ ) 
148         cout << "\t\tvalue(" << i << ") : " << MyType.Values().Value(i) << "\n";
149   }
150   cout << flush;
151 }