X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationPrs.cpp;h=529f0371d81c69019491ee8b0a35c1f883f2c68a;hb=cd8f50ce5c9cf41e43a1f9b7155d12aad1c37494;hp=991d4b6f2ca20721ed4bd195314c71dc2b540641;hpb=acb27733bf87bc7fb401f82aca26d7a8c0b608d3;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationPrs.cpp b/src/PartSet/PartSet_OperationPrs.cpp index 991d4b6f2..529f0371d 100755 --- a/src/PartSet/PartSet_OperationPrs.cpp +++ b/src/PartSet/PartSet_OperationPrs.cpp @@ -29,8 +29,9 @@ #include #include #include +#include -#include +#include #include #include @@ -111,6 +112,7 @@ void PartSet_OperationPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t const TopoDS_Shape& aShape = anIter.Key(); aBuilder.Add(aComp, aShape); // change deviation coefficient to provide more precise circle + // as there is no result, the shape is processed to correct deviation. To be unified ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, aDrawer); if (myUseAISWidth) { @@ -129,7 +131,8 @@ void PartSet_OperationPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t } Set(aComp); if (!aReadyToDisplay) { - Events_Error::throwException("An empty AIS presentation: PartSet_OperationPrs"); + Events_InfoMessage("PartSet_OperationPrs", + "An empty AIS presentation: PartSet_OperationPrs").send(); std::shared_ptr aMsg = std::shared_ptr( new Events_Message(Events_Loop::eventByName(EVENT_EMPTY_OPERATION_PRESENTATION))); Events_Loop::loop()->send(aMsg); @@ -329,9 +332,10 @@ void PartSet_OperationPrs::getResultShapes(const FeaturePtr& theFeature, XGUI_Displayer* aDisplayer = XGUI_Tools::workshop(theWorkshop)->displayer(); - std::list aFeatureResults = theFeature->results(); - std::list::const_iterator aRIt = aFeatureResults.begin(), - aRLast = aFeatureResults.end(); + std::list aResults; + ModelAPI_Tools::allResults(theFeature, aResults); + std::list::const_iterator aRIt = aResults.begin(), + aRLast = aResults.end(); for (; aRIt != aRLast; aRIt++) { ResultPtr aResult = *aRIt; GeomShapePtr aGeomShape = aResult->shape(); @@ -345,13 +349,9 @@ void PartSet_OperationPrs::getHighlightedShapes(ModuleBase_IWorkshop* theWorksho theObjectShapes.clear(); QList aValues; - ModuleBase_IPropertyPanel* aPanel = theWorkshop->propertyPanel(); - if (aPanel) { - ModuleBase_ModelWidget* aWidget = aPanel->activeWidget(); - if (aWidget) { - aWidget->getHighlighted(aValues); - } - } + ModuleBase_ModelWidget* anActiveWidget = theWorkshop->module()->activeWidget(); + if (anActiveWidget) + anActiveWidget->getHighlighted(aValues); QList aShapes; QList::const_iterator anIIt = aValues.begin(),