+ const TopoDS_Shape& aTDSShape = thePrs.shape();
+ // if only result is selected, an empty shape is set to the model
+ if (aTDSShape.IsNull()) {
+ aSelectionListAttr->append(aResult, GeomShapePtr());
+ }
+ else {
+ GeomShapePtr aShape = std::shared_ptr<GeomAPI_Shape>(new GeomAPI_Shape());
+ aShape->setImpl(new TopoDS_Shape(aTDSShape));
+ // We can not select a result of our feature
+ if (aShape->isEqual(aResult->shape()))
+ aSelectionListAttr->append(aResult, GeomShapePtr());
+ else
+ aSelectionListAttr->append(aResult, aShape);
+ }