- GeomShapePtr aGShape = GeomShapePtr();
- 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 {
- aGShape = std::shared_ptr<GeomAPI_Shape>(new GeomAPI_Shape());
- //GeomShapePtr aShape(new GeomAPI_Shape());
- aGShape->setImpl(new TopoDS_Shape(aTDSShape));
- // We can not select a result of our feature
- if (aGShape->isEqual(aResult->shape())) {
- //aSelectionListAttr->append(aResult, GeomShapePtr());
- aGShape = GeomShapePtr();
- }
- else {
- //aSelectionListAttr->append(aResult, aShape);
- }
- }
-
- setObject(aResult, aGShape);
- return true;
-}
-
-//********************************************************************
-bool PartSet_WidgetMultiSelector::setObject(const ObjectPtr& theSelectedObject,
- const GeomShapePtr& theShape)
-{
- ObjectPtr aSelectedObject = theSelectedObject;
- GeomShapePtr aShape = theShape;
-
- FeaturePtr aSelectedFeature = ModelAPI_Feature::feature(aSelectedObject);
- //if (aSelectedFeature == myFeature) // In order to avoid selection of the same object
- // return false;
-
- // Do check using of external feature