std::list<std::pair<TopoDS_Shape, TopoDS_Shape> >::iterator aPairsIter = aShapePairs.begin();
for(; aPairsIter != aShapePairs.end(); aPairsIter++) {
if (theFlag) { // disabled => make selection
- aBuilder.Select(aPairsIter->first, aPairsIter->second);
+ aBuilder.Select(aPairsIter->second, aPairsIter->first);
} else if (anEvol == TNaming_GENERATED) {
aBuilder.Generated(aPairsIter->first, aPairsIter->second);
} else if (anEvol == TNaming_MODIFY) {
} else if (anEvol == TNaming_PRIMITIVE) {
aBuilder.Generated(aPairsIter->second);
} else if (anEvol == TNaming_SELECTED) {
- aBuilder.Select(aPairsIter->first, aPairsIter->second);
+ aBuilder.Select(aPairsIter->second, aPairsIter->first);
}
}
// recursive call for all sub-labels
TNaming_Builder aSubBuilder(aShapeLab.FindChild(aTag++));
aSubBuilder.Generated(aSubIter.Value());
if(!aName.IsEmpty()) {
+ TCollection_AsciiString aShapeType = aShape.ShapeType() == TopAbs_EDGE ? "_Edge_" :
+ aShape.ShapeType() == TopAbs_FACE ? "_Face_" :
+ aShape.ShapeType() == TopAbs_SOLID ? "_Solid_" : "_Shape_";
std::string aSolidName =
- (aName + "_Solid_" + TCollection_AsciiString(aTag - theDecomposeSolidsTag)).ToCString();
+ (aName + aShapeType + TCollection_AsciiString(aTag - theDecomposeSolidsTag)).ToCString();
std::shared_ptr<Model_Document> aDoc =
std::dynamic_pointer_cast<Model_Document>(document());
aDoc->addNamingName(aSubBuilder.NamedShape()->Label(), aSolidName);