mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-03-15 23:31:27 +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;
|
return aRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. Fill shapes to glue aMSG
|
if (theShapeType != TopAbs_FACE) {
|
||||||
TopTools_DataMapOfShapeListOfShape aMSG;
|
// 3. Fill shapes to glue aMSG
|
||||||
const TopTools_DataMapOfShapeListOfShape& aMSD = aGA.ShapesDetected();
|
TopTools_DataMapOfShapeListOfShape aMSG;
|
||||||
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItMSD;
|
const TopTools_DataMapOfShapeListOfShape& aMSD = aGA.ShapesDetected();
|
||||||
aItMSD.Initialize(aMSD);
|
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItMSD;
|
||||||
for (; aItMSD.More(); aItMSD.Next()) {
|
aItMSD.Initialize(aMSD);
|
||||||
const TopoDS_Shape& aSx = aItMSD.Key();
|
for (; aItMSD.More(); aItMSD.Next()) {
|
||||||
const TopTools_ListOfShape& aLSD = aItMSD.Value();
|
const TopoDS_Shape& aSx = aItMSD.Key();
|
||||||
if (aSx.ShapeType() == theShapeType) {
|
const TopTools_ListOfShape& aLSD = aItMSD.Value();
|
||||||
aMSG.Bind(aSx, aLSD);
|
if (aSx.ShapeType() == theShapeType) {
|
||||||
|
aMSG.Bind(aSx, aLSD);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// 4. Set shapes to glue. If the operator is absent, the whole gluing will be done
|
// 4. Set shapes to glue. If the operator is absent, the whole gluing will be done
|
||||||
aGA.SetShapesToGlue(aMSG);
|
aGA.SetShapesToGlue(aMSG);
|
||||||
|
}
|
||||||
|
|
||||||
// 5. Gluing
|
// 5. Gluing
|
||||||
aGA.Perform();
|
aGA.Perform();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user