X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_ResultConstruction.cpp;h=103c5425904bf65d8e8bb299ee2a43c6f5bda36b;hb=b0196aeefbaa53754b1052fab904386707caad87;hp=0c2e4cac995eb1d078896eaf3390e00e1de6b19b;hpb=37f90ecfa35f52dcfe2bccd139b7c7b7fcf99ba8;p=modules%2Fshaper.git diff --git a/src/Model/Model_ResultConstruction.cpp b/src/Model/Model_ResultConstruction.cpp index 0c2e4cac9..103c54259 100644 --- a/src/Model/Model_ResultConstruction.cpp +++ b/src/Model/Model_ResultConstruction.cpp @@ -392,7 +392,10 @@ void Model_ResultConstruction::storeShape(std::shared_ptr theShap if (!anEdgesBuilder) { TDF_Label anEdgesLabel = aLab.FindChild(1); anEdgesBuilder = new TNaming_Builder(anEdgesLabel); - TDataStd_Name::Set(anEdgesLabel, "SubEdge"); + std::ostringstream aSubName; + // tag is needed for Test1922 to distinguish subedges of different faces + aSubName<<"SubEdge_"<Modify(anEdgeIndices.Find(aModIndex), aPutEdges.Current()); } @@ -400,6 +403,20 @@ void Model_ResultConstruction::storeShape(std::shared_ptr theShap } TDataStd_Name::Set(aLab, TCollection_ExtendedString(aName.str().c_str())); aMyDoc->addNamingName(aLab, aName.str()); + // put also wires to sub-labels to correctly select them instead of collection by edges + int aWireTag = 2; // first tag is for SubEdge-s + for(TopExp_Explorer aWires(aFaceToPut, TopAbs_WIRE); aWires.More(); aWires.Next()) { + TDF_Label aWireLab = aLab.FindChild(aWireTag); + TNaming_Builder aWireBuilder(aWireLab); + aWireBuilder.Generated(aWires.Current()); + std::ostringstream aWireName; + aWireName< 2) + aWireName<<"_"<addNamingName(aWireLab, aWireName.str()); + aWireTag++; + } } } }