- if (myIsSketchMode) {
- if (aMode == AIS_Shape::SelectionMode(TopAbs_FACE)) {
-#ifdef DEBUG_WIRE
- const TopoDS_Shape& aShape = Shape();
- debugInfo(aShape, TopAbs_VERTEX); // 24
- debugInfo(aShape, TopAbs_EDGE); // 12
- debugInfo(aShape, TopAbs_WIRE); // 0
- debugInfo(aShape, TopAbs_FACE); // 0
-#endif
- BRep_Builder aBuilder;
- TopoDS_Compound aComp;
- aBuilder.MakeCompound(aComp);
- aBuilder.Add(aComp, myOriginalShape);
- std::list<std::shared_ptr<GeomAPI_Shape>>::const_iterator aIt;
- for (aIt = myFacesList.cbegin(); aIt != myFacesList.cend(); ++aIt) {
- TopoDS_Shape aFace = (*aIt)->impl<TopoDS_Shape>();
- aBuilder.Add(aComp, aFace);
- // for sketch presentation in the face mode wires should be selectable also
- // accoring to #1343 Improvement of Extrusion and Revolution operations
- appendWiresSelection(aSelection, aFace);
- }
-#ifdef DEBUG_WIRE
- debugInfo(aComp, TopAbs_VERTEX); // 24
- debugInfo(aComp, TopAbs_EDGE); // 12
- debugInfo(aComp, TopAbs_WIRE); // 4
- debugInfo(aComp, TopAbs_FACE); // 2
-#endif
- Set(aComp);
- } else
- Set(myOriginalShape);
- }