occt: master 30ecd5f8

Author Committer Branch Timestamp Parent
pkv bugmaster master 2013-12-10 05:08:44 master 5a07b8e1
Affected Issues  0024157: Parallelization of assembly part of BO
Changeset 0024157: Parallelization of assembly part of BO

New features
class BOPAlgo_BuilderSolid
-method:
void BOPAlgo_BuilderSolid::SetSolid(const TopoDS_Solid& theSolid) has been added.
Purpose: Sets the source solid <theSolid>

class BOPAlgo_BuilderSolid
-method:
const TopoDS_Solid& BOPAlgo_BuilderSolid::Solid()const
has been added.
Purpose: Returns the source solid

Auxiliary classes
BOPAlgo_BuilderSolidFunctor
BOPAlgo_BuilderSolidCnt
have been added.
Purpose: The classes provide the interface and implementation of the parallel computations.

class BOPTools_AlgoTools
-method:
Standard_Boolean BOPTools_AlgoTools::IsOpenShell(const TopoDS_Shell& theShell) has been added.
Purpose: Returns true if the shell <theShell> is open

class BOPTools_AlgoTools
-method:
Standard_Boolean BOPTools_AlgoTools::IsInvertedSolid(const TopoDS_Solid& theSolid) has been added.
Purpose: Returns true if the solid <theSolid> is inverted

class BOPDS_DS
-protected method:
void BOPDS_DS::BuildBndBoxSolid(const Standard_Integer theIndex, Bnd_Box& theBoxS) has been added.
The method computes bouding box <theBoxS> for the solid with DS-index <theIndex>

Changes
class BOPDS_DS
- method:
void BOPDS_DS::Init()
The block to compute bouding box for the solids has been added.

class BOPAlgo_Builder
- method:
void BOPAlgo_Builder::FillIn3DParts
(BOPCol_DataMapOfShapeListOfShape& theInParts,
BOPCol_DataMapOfShapeShape& theDraftSolids,
const BOPCol_BaseAllocator& theAllocator)
The order of treatment of the unbalanced binary tree of overlapped bounding boxes has been changed

class BOPAlgo_Builder
- method:
 void BOPAlgo_Builder::BuildSplitSolids
(BOPCol_DataMapOfShapeListOfShape& theInParts,
BOPCol_DataMapOfShapeShape& theDraftSolids,
const BOPCol_BaseAllocator& theAllocator)
The algorithm has been adapted to provide the parallel computations
mod - src/BOPAlgo/BOPAlgo_Builder.cdl Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderSolid.cdl Diff File
mod - src/BOPAlgo/BOPAlgo_BuilderSolid.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_2Cnt.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_Builder_3.cxx Diff File
mod - src/BOPDS/BOPDS_DS.cdl Diff File
mod - src/BOPDS/BOPDS_DS.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cdl Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cxx Diff File