0024510: Remove unused local variables
[occt.git] / src / TopOpeBRepBuild / TopOpeBRepBuild_VertexInfo.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and / or modify it
6 // under the terms of the GNU Lesser General Public version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 #include <TopOpeBRepBuild_VertexInfo.ixx>
15 #include <TopoDS.hxx>
16 #include <TopTools_ListIteratorOfListOfShape.hxx>
17 #include <stdio.h>
18
19 //=======================================================================
20 // function :TopOpeBRepBuild_VertexInfo
21 // purpose: 
22 //=======================================================================
23 TopOpeBRepBuild_VertexInfo::TopOpeBRepBuild_VertexInfo()
24 {
25   mySmart=Standard_False;
26   myFoundOut=0;
27   myEdgesPassed.Clear();
28 }
29 //=======================================================================
30 // function :TopOpeBRepBuild_VertexInfo::SetVertex
31 // purpose: 
32 //=======================================================================
33   void TopOpeBRepBuild_VertexInfo::SetVertex(const TopoDS_Vertex& aV) 
34 {
35   myVertex=aV;
36 }
37 //=======================================================================
38 // function :TopOpeBRepBuild_VertexInfo::Vertex
39 // purpose: 
40 //=======================================================================
41   const TopoDS_Vertex& TopOpeBRepBuild_VertexInfo::Vertex() const
42 {
43   return myVertex;
44 }
45 //=======================================================================
46 // function :TopOpeBRepBuild_VertexInfo::SetSmart
47 // purpose: 
48 //=======================================================================
49   void TopOpeBRepBuild_VertexInfo::SetSmart(const Standard_Boolean aFlag) 
50 {
51   mySmart=aFlag;
52 }
53 //=======================================================================
54 // function :TopOpeBRepBuild_VertexInfo:Smart
55 // purpose: 
56 //=======================================================================
57    Standard_Boolean TopOpeBRepBuild_VertexInfo::Smart() const
58 {
59   return mySmart;
60 }
61 //=======================================================================
62 // function :TopOpeBRepBuild_VertexInfo:NbCases
63 // purpose: 
64 //=======================================================================
65    Standard_Integer TopOpeBRepBuild_VertexInfo::NbCases() const
66 {//myCurrentIn
67   return myLocalEdgesOut.Extent();
68 }
69
70 //=======================================================================
71 // function :TopOpeBRepBuild_VertexInfo:FoundOut
72 // purpose: 
73 //=======================================================================
74    Standard_Integer TopOpeBRepBuild_VertexInfo::FoundOut () const
75 {
76   return myFoundOut;
77 }
78
79 //=======================================================================
80 // function :TopOpeBRepBuild_VertexInfo::AddIn
81 // purpose: 
82 //=======================================================================
83   void TopOpeBRepBuild_VertexInfo::AddIn(const TopoDS_Edge& anE) 
84 {
85   myEdgesIn.Add(anE);
86 }
87
88 //=======================================================================
89 // function :TopOpeBRepBuild_VertexInfo::AddOut
90 // purpose: 
91 //=======================================================================
92   void TopOpeBRepBuild_VertexInfo::AddOut(const TopoDS_Edge& anE) 
93 {
94   myEdgesOut.Add(anE);
95 }
96
97 //=======================================================================
98 // function :TopOpeBRepBuild_VertexInfo::SetCurrentIn
99 // purpose: 
100 //=======================================================================
101   void TopOpeBRepBuild_VertexInfo::SetCurrentIn(const TopoDS_Edge& anE) 
102 {
103   myCurrentIn=anE;
104 }
105
106 //=======================================================================
107 // function :TopOpeBRepBuild_VertexInfo::EdgesIn
108 // purpose: 
109 //=======================================================================
110   const TopTools_IndexedMapOfOrientedShape& TopOpeBRepBuild_VertexInfo::EdgesIn() const  
111 {
112   return myEdgesIn;
113 }
114
115 //=======================================================================
116 // function :TopOpeBRepBuild_VertexInfo::EdgesOut
117 // purpose: 
118 //=======================================================================
119   const TopTools_IndexedMapOfOrientedShape& TopOpeBRepBuild_VertexInfo::EdgesOut() const  
120 {
121   return myEdgesOut;
122 }
123
124 //=======================================================================
125 // function :TopOpeBRepBuild_VertexInfo::ChangeEdgesOut
126 // purpose: 
127 //=======================================================================
128   TopTools_IndexedMapOfOrientedShape& TopOpeBRepBuild_VertexInfo::ChangeEdgesOut()
129 {
130   return myEdgesOut;
131 }
132
133 //=======================================================================
134 // function :TopOpeBRepBuild_VertexInfo::Dump
135 // purpose: 
136 //=======================================================================
137   void TopOpeBRepBuild_VertexInfo::Dump() const
138 {
139   printf(" *** Dump the Vertex Info ***\n");
140   printf(" mySmart  : %ud\n", mySmart);
141   printf(" Edges    : %d In, %d Out\n", myEdgesIn.Extent(), myEdgesOut.Extent());
142   
143   
144   printf("\n");
145 }
146
147 //=======================================================================
148 // function :TopOpeBRepBuild_VertexInfo::AppendPassed
149 // purpose: 
150 //=======================================================================
151   void TopOpeBRepBuild_VertexInfo::AppendPassed(const TopoDS_Edge& anE) 
152 {
153   myEdgesPassed.Prepend(anE);
154 }
155
156
157 //=======================================================================
158 // function :TopOpeBRepBuild_VertexInfo::RemovePassed
159 // purpose: 
160 //=======================================================================
161   void TopOpeBRepBuild_VertexInfo::RemovePassed() 
162 {
163   myEdgesPassed.RemoveFirst();
164 }
165 //=======================================================================
166 // function :TopOpeBRepBuild_VertexInfo::ListPassed
167 // purpose: 
168 //=======================================================================
169   const TopTools_ListOfShape&  TopOpeBRepBuild_VertexInfo::ListPassed() const 
170 {
171   return myEdgesPassed;
172 }
173 //=======================================================================
174 // function :TopOpeBRepBuild_VertexInfo::Prepare
175 // purpose: 
176 //=======================================================================
177   void TopOpeBRepBuild_VertexInfo::Prepare(const TopTools_ListOfShape& aL)  
178 {
179   myLocalEdgesOut.Clear();
180
181   TopTools_IndexedMapOfOrientedShape tmpMap;
182   
183   TopTools_ListIteratorOfListOfShape anIt(aL);
184   for (; anIt.More(); anIt.Next()) {
185     tmpMap.Add(anIt.Value());
186   }
187
188   Standard_Integer i = 1, nb = myEdgesOut.Extent();
189   for(; i <= nb; i++) {
190     const TopoDS_Shape& aE = myEdgesOut(i);
191     if(!tmpMap.Contains(aE))
192       myLocalEdgesOut.Add(aE);
193   }
194
195   tmpMap.Clear();
196 }
197
198 //=======================================================================
199 // function :TopOpeBRepBuild_VertexInfo:CurrentOut
200 // purpose: 
201 //=======================================================================
202   const TopoDS_Edge& TopOpeBRepBuild_VertexInfo::CurrentOut () 
203 {
204
205   Standard_Integer i, aNbOut;
206   aNbOut =myLocalEdgesOut.Extent();
207   
208   TopTools_IndexedMapOfOrientedShape aMapPassed;
209   TopTools_ListIteratorOfListOfShape anIt(myEdgesPassed);
210   for (; anIt.More(); anIt.Next()) {
211     aMapPassed.Add (anIt.Value());
212   }
213
214   for (i=1; i<=aNbOut; i++) {
215     if (!aMapPassed.Contains(myLocalEdgesOut(i))) {
216       myCurrent=TopoDS::Edge(myLocalEdgesOut(i));
217       myFoundOut=1;
218       return myCurrent;
219     }
220   }
221   myFoundOut=0;
222   TopoDS_Edge aS;
223   myCurrent=aS;
224   return myCurrent;
225 }
226
227
228
229
230