0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect_SelectIntersection.cxx
CommitLineData
b311480e 1// Copyright (c) 1999-2012 OPEN CASCADE SAS
2//
3// The content of this file is subject to the Open CASCADE Technology Public
4// License Version 6.5 (the "License"). You may not use the content of this file
5// except in compliance with the License. Please obtain a copy of the License
6// at http://www.opencascade.org and read it completely before using this file.
7//
8// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10//
11// The Original Code and all software distributed under the License is
12// distributed on an "AS IS" basis, without warranty of any kind, and the
13// Initial Developer hereby disclaims all such warranties, including without
14// limitation, any warranties of merchantability, fitness for a particular
15// purpose or non-infringement. Please see the License for the specific terms
16// and conditions governing the rights and limitations under the License.
17
7fd59977 18#include <IFSelect_SelectIntersection.ixx>
19#include <IFGraph_Compare.hxx>
20
21
b311480e 22IFSelect_SelectIntersection::IFSelect_SelectIntersection () { }
7fd59977 23
24
25 Interface_EntityIterator IFSelect_SelectIntersection::RootResult
26 (const Interface_Graph& G) const
27{
28 IFGraph_Compare GC(G);
29 Standard_Integer nb = NbInputs();
30 for (Standard_Integer i = 1; i <= nb; i ++) {
31 GC.GetFromIter(Input(i)->RootResult(G), (i==1));
32 if (i > 1 && i < nb) {
33 Interface_EntityIterator comm = GC.Common();
34 GC.ResetData();
35 GC.GetFromIter (comm,Standard_True);
36 }
37 }
38 return GC.Common();
39}
40
41 TCollection_AsciiString IFSelect_SelectIntersection::Label () const
42 { return TCollection_AsciiString("Intersection (AND)"); }