0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect_DispPerOne.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_DispPerOne.ixx>
19#include <IFSelect_Selection.hxx>
20#include <IFGraph_SCRoots.hxx>
21#include <Interface_InterfaceModel.hxx>
22#include <Interface_EntityIterator.hxx>
23
24
25// Genere un paquet par racine (strong comp.) locale a la liste transmise
26
27
b311480e 28IFSelect_DispPerOne::IFSelect_DispPerOne () { }
7fd59977 29
30 TCollection_AsciiString IFSelect_DispPerOne::Label () const
31{ return TCollection_AsciiString ("One File per Input Entity"); }
32
33
34 Standard_Boolean IFSelect_DispPerOne::LimitedMax
35 (const Standard_Integer nbent, Standard_Integer& pcount) const
36{ pcount = nbent; return Standard_True; }
37
38 Standard_Boolean IFSelect_DispPerOne::PacketsCount
39 (const Interface_Graph& G, Standard_Integer& pcount) const
40{ pcount = G.Size(); return Standard_True; }
41
42 void IFSelect_DispPerOne::Packets
43 (const Interface_Graph& G, IFGraph_SubPartsIterator& packs) const
44{
45 IFGraph_SCRoots packsc(G,Standard_False); // OK pour SubPartsIterator
46 packsc.SetLoad();
47 packsc.GetFromIter(FinalSelection()->UniqueResult(G));
48// SCRoots a initie la resolution : decoupage en StrongComponants + selection
49// des Racines. Chaque Racine correspond a un Packet. CQFD
50 packs.GetParts(packsc);
51}