GEOM::GEOM_Object_ptr HYDROData_GeomTool::ExplodeShapeInGEOMandPublish( GEOM::GEOM_Gen_var theGeomEngine,
SALOMEDS::Study_ptr theStudy,
const TopoDS_Shape& theShape,
- const NCollection_IndexedDataMap<TopoDS_Shape, QString>& aFacesToNameModif,
+ const NCollection_IndexedDataMap<TopoDS_Shape, QString, TopTools_ShapeMapHasher>& aFacesToNameModif,
const QString& theName,
QString& theGeomObjEntry)
{
TopTools_MapOfShape mapShape;
+ NCollection_IndexedDataMap<TopoDS_Shape, QString, TopTools_ShapeMapHasher> aFF2N;
+ for (int i = 1; i <= aFacesToNameModif.Extent(); i++)
+ {
+ TopExp_Explorer exp (aFacesToNameModif.FindKey(i), TopAbs_FACE);
+ for (;exp.More(); exp.Next())
+ aFF2N.Add(exp.Current(), aFacesToNameModif.FindFromIndex(i));
+ }
+
TopExp_Explorer exp (theShape, TopAbs_FACE);
QVector<QString> Names;
for (; exp.More(); exp.Next())
if (mapShape.Add(csh))
{
//listShape.Append(csh);
- QString Qstr = aFacesToNameModif.FindFromKey(csh);
+ QString Qstr = aFF2N.FindFromKey(csh);
Names.push_back(Qstr);
}
}