mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-03-14 21:41:17 +05:00
Mantis issue 0021291: [CEA 480] Bad performance of glue function in 6.3.0
This commit is contained in:
parent
956f0bc94a
commit
06928fa47e
@ -449,21 +449,23 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueWithWarnings (const TopoDS_Shape& theShape
|
||||
return aRes;
|
||||
}
|
||||
|
||||
// 3. Fill shapes to glue aMSG
|
||||
TopTools_DataMapOfShapeListOfShape aMSG;
|
||||
const TopTools_DataMapOfShapeListOfShape& aMSD = aGA.ShapesDetected();
|
||||
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItMSD;
|
||||
aItMSD.Initialize(aMSD);
|
||||
for (; aItMSD.More(); aItMSD.Next()) {
|
||||
const TopoDS_Shape& aSx = aItMSD.Key();
|
||||
const TopTools_ListOfShape& aLSD = aItMSD.Value();
|
||||
if (aSx.ShapeType() == theShapeType) {
|
||||
aMSG.Bind(aSx, aLSD);
|
||||
if (theShapeType != TopAbs_FACE) {
|
||||
// 3. Fill shapes to glue aMSG
|
||||
TopTools_DataMapOfShapeListOfShape aMSG;
|
||||
const TopTools_DataMapOfShapeListOfShape& aMSD = aGA.ShapesDetected();
|
||||
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItMSD;
|
||||
aItMSD.Initialize(aMSD);
|
||||
for (; aItMSD.More(); aItMSD.Next()) {
|
||||
const TopoDS_Shape& aSx = aItMSD.Key();
|
||||
const TopTools_ListOfShape& aLSD = aItMSD.Value();
|
||||
if (aSx.ShapeType() == theShapeType) {
|
||||
aMSG.Bind(aSx, aLSD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 4. Set shapes to glue. If the operator is absent, the whole gluing will be done
|
||||
aGA.SetShapesToGlue(aMSG);
|
||||
// 4. Set shapes to glue. If the operator is absent, the whole gluing will be done
|
||||
aGA.SetShapesToGlue(aMSG);
|
||||
}
|
||||
|
||||
// 5. Gluing
|
||||
aGA.Perform();
|
||||
|
Loading…
x
Reference in New Issue
Block a user