+ aOwnersList.Append(new StdSelect_BRepOwner(aTDShape, anIO));
+ }
+ else
+ aValid = false;
+ //aSelectAttr->setValue(ObjectPtr(), GeomShapePtr(), true);
+ }
+ else {
+ ResultPtr aResult = aFeature->firstResult();
+ if (aResult.get()) {
+ GeomShapePtr aShapePtr = ModelAPI_Tools::shape(aResult);
+ if (aShapePtr.get()) {
+ const TopoDS_Shape aTDShape = aShapePtr->impl<TopoDS_Shape>();
+ AISObjectPtr aIOPtr = myWorkshop->findPresentation(aResult);
+ if (aIOPtr.get()) {
+ Handle(AIS_InteractiveObject) anIO = aIOPtr->impl<Handle(AIS_InteractiveObject)>();
+ aOwnersList.Append(new StdSelect_BRepOwner(aTDShape, anIO));
+ }
+ else {
+ aOwnersList.Append(new StdSelect_BRepOwner(aTDShape));
+ }
+ }