+ aBuilderTag = THE_ANCHOR_TAG - aSameParentShapes * 10 - aCurShapeType;
+ needSuffix = true;
+ } else if (aCurShapeType != theKindOfShape) {
+ // modified shape has different type => set another tag
+ // to avoid shapes of different types on the same label
+ aBuilderTag = THE_ANCHOR_TAG - aCurShapeType;
+ needSuffix = true;
+ }
+ std::string aSuffix;
+ if (needSuffix) {
+ switch (aCurShapeType) {
+ case GeomAPI_Shape::VERTEX: aSuffix = "_v"; break;
+ case GeomAPI_Shape::EDGE: aSuffix = "_e"; break;
+ case GeomAPI_Shape::FACE: aSuffix = "_f"; break;
+ default: break;
+ }