Adding of testing cases from subgroups 937 940 and 941 of CHL group
[occt.git] / src / BOPTools / BOPTools_PaveSet.cxx
1 // Created on: 2001-02-08
2 // Created by: Peter KURNEV
3 // Copyright (c) 2001-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21
22 #include <BOPTools_PaveSet.ixx>
23
24 #include <BOPTools_Array1OfPave.hxx>
25 #include <BOPTools_ListIteratorOfListOfPave.hxx>
26 #include <BOPTools_QuickSortPave.hxx>
27 #include <BOPTools_ComparePave.hxx>
28
29 #ifdef WNT
30 #pragma warning ( disable : 4101 )
31 #endif
32
33 //=======================================================================
34 // function: BOPTools_PaveSet::BOPTools_PaveSet
35 // purpose: 
36 //=======================================================================
37   BOPTools_PaveSet::BOPTools_PaveSet() {}
38
39 //=======================================================================
40 // function: ChangeSet
41 // purpose: 
42 //=======================================================================
43   BOPTools_ListOfPave& BOPTools_PaveSet::ChangeSet()
44 {
45   return myPaveList;
46 }
47 //=======================================================================
48 // function: Set
49 // purpose: 
50 //=======================================================================
51   const BOPTools_ListOfPave& BOPTools_PaveSet::Set() const
52 {
53   return myPaveList;
54 }
55 //=======================================================================
56 // function: Append
57 // purpose: 
58 //=======================================================================
59   void BOPTools_PaveSet::Append(const BOPTools_Pave& aPave)
60 {
61   myPaveList.Append(aPave);
62 }
63 //=======================================================================
64 // function: SortSet
65 // purpose: 
66 //=======================================================================
67   void BOPTools_PaveSet::SortSet()
68 {
69   // Not implemented yet
70   Standard_Integer aNbPaves, i;
71   aNbPaves=myPaveList.Extent();
72   if (aNbPaves>1) {
73     BOPTools_Array1OfPave anArray1OfPave (1, aNbPaves);
74     
75     BOPTools_ListIteratorOfListOfPave anIt(myPaveList);
76     
77     for (i=1; anIt.More(); anIt.Next(), i++) {
78       const BOPTools_Pave& aPave=anIt.Value();
79       anArray1OfPave(i)=aPave;
80     }
81     
82     BOPTools_QuickSortPave aQuickSortPave;
83     BOPTools_ComparePave   aComparePave;
84     aQuickSortPave.Sort (anArray1OfPave, aComparePave);
85     
86     myPaveList.Clear();
87     for (i=1; i<=aNbPaves; i++){
88       const BOPTools_Pave& aPave=anArray1OfPave(i);
89       myPaveList.Append (aPave);
90     }
91   }
92 }
93 #ifdef WNT
94 #pragma warning ( default : 4101 )
95 #endif