0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / BOPAlgo / BOPAlgo_BuilderArea.cxx
1 // Created by: Peter KURNEV
2 // Copyright (c) 2010-2014 OPEN CASCADE SAS
3 // Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4 // Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5 //                         EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 //
7 // This file is part of Open CASCADE Technology software library.
8 //
9 // This library is free software; you can redistribute it and/or modify it under
10 // the terms of the GNU Lesser General Public License version 2.1 as published
11 // by the Free Software Foundation, with special exception defined in the file
12 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
13 // distribution for complete text of the license and disclaimer of any warranty.
14 //
15 // Alternatively, this file may be used under the terms of Open CASCADE
16 // commercial license or contractual agreement.
17
18
19 #include <BOPAlgo_BuilderArea.hxx>
20 #include <BOPCol_ListOfShape.hxx>
21 #include <IntTools_Context.hxx>
22 #include <NCollection_BaseAllocator.hxx>
23 #include <TopoDS_Shape.hxx>
24
25 //=======================================================================
26 //function : 
27 //purpose  : 
28 //=======================================================================
29 BOPAlgo_BuilderArea::BOPAlgo_BuilderArea()
30 :
31   BOPAlgo_Algo(),
32   myShapes(myAllocator),
33   myLoops(myAllocator),
34   myLoopsInternal(myAllocator),
35   myAreas(myAllocator),
36   myShapesToAvoid(100, myAllocator) 
37 {
38 }
39 //=======================================================================
40 //function : 
41 //purpose  : 
42 //=======================================================================
43 BOPAlgo_BuilderArea::BOPAlgo_BuilderArea
44   (const Handle(NCollection_BaseAllocator)& theAllocator)
45 :
46   BOPAlgo_Algo(theAllocator),
47   myShapes(myAllocator),
48   myLoops(myAllocator),
49   myLoopsInternal(myAllocator),
50   myAreas(myAllocator),
51   myShapesToAvoid(100, myAllocator) 
52 {
53 }
54 //=======================================================================
55 //function : ~
56 //purpose  : 
57 //=======================================================================
58 BOPAlgo_BuilderArea::~BOPAlgo_BuilderArea()
59 {
60 }
61 //=======================================================================
62 //function : SetContext
63 //purpose  : 
64 //=======================================================================
65 void BOPAlgo_BuilderArea::SetContext
66   (const Handle(IntTools_Context)& theContext)
67 {
68   myContext=theContext;
69 }
70 //=======================================================================
71 //function : SetShapes
72 //purpose  : 
73 //=======================================================================
74   void BOPAlgo_BuilderArea::SetShapes(const BOPCol_ListOfShape& theLF)
75 {
76   BOPCol_ListIteratorOfListOfShape aIt;
77   //
78   myShapes.Clear();
79   aIt.Initialize(theLF);
80   for(; aIt.More(); aIt.Next()) {
81     const TopoDS_Shape& aF=aIt.Value();
82     myShapes.Append(aF);
83   }
84 }
85 //=======================================================================
86 //function : Shapes
87 //purpose  : 
88 //=======================================================================
89 const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Shapes()const
90 {
91   return myShapes;
92 }
93 //=======================================================================
94 //function : Loops
95 //purpose  : 
96 //=======================================================================
97 const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Loops()const
98 {
99   return myLoops;
100 }
101 //=======================================================================
102 //function : Areas
103 //purpose  : 
104 //=======================================================================
105   const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Areas()const
106 {
107   return myAreas;
108 }