1 // Created by: Peter KURNEV
2 // Copyright (c) 2010-2012 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
7 // The content of this file is subject to the Open CASCADE Technology Public
8 // License Version 6.5 (the "License"). You may not use the content of this file
9 // except in compliance with the License. Please obtain a copy of the License
10 // at http://www.opencascade.org and read it completely before using this file.
12 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
13 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
15 // The Original Code and all software distributed under the License is
16 // distributed on an "AS IS" basis, without warranty of any kind, and the
17 // Initial Developer hereby disclaims all such warranties, including without
18 // limitation, any warranties of merchantability, fitness for a particular
19 // purpose or non-infringement. Please see the License for the specific terms
20 // and conditions governing the rights and limitations under the License.
23 #include <BOPAlgo_BuilderArea.ixx>
25 #include <BOPCol_ListOfShape.hxx>
26 #include <TopoDS_Shape.hxx>
27 #include <NCollection_BaseAllocator.hxx>
29 //=======================================================================
32 //=======================================================================
33 BOPAlgo_BuilderArea::BOPAlgo_BuilderArea()
37 myShapes(myAllocator),
39 myLoopsInternal(myAllocator),
41 myShapesToAvoid(100, myAllocator)
44 //=======================================================================
47 //=======================================================================
48 BOPAlgo_BuilderArea::BOPAlgo_BuilderArea(const Handle(NCollection_BaseAllocator)& theAllocator)
50 BOPAlgo_Algo(theAllocator),
52 myShapes(myAllocator),
54 myLoopsInternal(myAllocator),
56 myShapesToAvoid(100, myAllocator)
59 //=======================================================================
62 //=======================================================================
63 BOPAlgo_BuilderArea::~BOPAlgo_BuilderArea()
66 //=======================================================================
67 //function : SetContext
69 //=======================================================================
70 void BOPAlgo_BuilderArea::SetContext(const Handle(BOPInt_Context)& theContext)
74 //=======================================================================
75 //function : SetShapes
77 //=======================================================================
78 void BOPAlgo_BuilderArea::SetShapes(const BOPCol_ListOfShape& theLF)
80 BOPCol_ListIteratorOfListOfShape aIt;
83 aIt.Initialize(theLF);
84 for(; aIt.More(); aIt.Next()) {
85 const TopoDS_Shape& aF=aIt.Value();
89 //=======================================================================
92 //=======================================================================
93 const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Shapes()const
97 //=======================================================================
100 //=======================================================================
101 const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Loops()const
105 //=======================================================================
108 //=======================================================================
109 const BOPCol_ListOfShape& BOPAlgo_BuilderArea::Areas()const
114 //=======================================================================
115 //function :PerformShapesToAvoid
117 //=======================================================================
118 void BOPAlgo_BuilderArea::PerformShapesToAvoid()
121 //=======================================================================
122 //function : PerformLoops
124 //=======================================================================
125 void BOPAlgo_BuilderArea::PerformLoops()
128 //=======================================================================
129 //function : PerformAreas
131 //=======================================================================
132 void BOPAlgo_BuilderArea::PerformAreas()
135 //=======================================================================
136 //function : PerformInternalShapes
138 //=======================================================================
139 void BOPAlgo_BuilderArea::PerformInternalShapes()