X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OperationPrs.cpp;h=31efa6041197b8ece3291807446e71b0db9c12fd;hb=f68074b0f3e013e10a9d06016ceac84827a5cdc2;hp=1f8d0c5606ed6349bc40c2236b9effb03db15400;hpb=a8cfbfb436c27ff96edd5c808e9a452c35cef207;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OperationPrs.cpp b/src/PartSet/PartSet_OperationPrs.cpp index 1f8d0c560..31efa6041 100755 --- a/src/PartSet/PartSet_OperationPrs.cpp +++ b/src/PartSet/PartSet_OperationPrs.cpp @@ -29,13 +29,14 @@ #include #include #include +#include #include #include #include -#include +#include #include @@ -55,7 +56,6 @@ #include #endif -IMPLEMENT_STANDARD_HANDLE(PartSet_OperationPrs, ViewerData_AISShape); IMPLEMENT_STANDARD_RTTIEXT(PartSet_OperationPrs, ViewerData_AISShape); PartSet_OperationPrs::PartSet_OperationPrs(ModuleBase_IWorkshop* theWorkshop) @@ -88,9 +88,10 @@ void PartSet_OperationPrs::useAISWidth() myUseAISWidth = true; } -void PartSet_OperationPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& thePresentationManager, - const Handle(Prs3d_Presentation)& thePresentation, - const Standard_Integer theMode) +void PartSet_OperationPrs::Compute( + const Handle(PrsMgr_PresentationManager3d)& thePresentationManager, + const Handle(Prs3d_Presentation)& thePresentation, + const Standard_Integer theMode) { #ifdef DEBUG_OPERATION_PRS qDebug("PartSet_OperationPrs::Compute -- begin"); @@ -106,8 +107,8 @@ void PartSet_OperationPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t BRep_Builder aBuilder; TopoDS_Compound aComp; aBuilder.MakeCompound(aComp); - for(NCollection_DataMap::Iterator anIter(myShapeToPrsMap); - anIter.More(); anIter.Next()) { + for(NCollection_DataMap::Iterator + anIter(myShapeToPrsMap); anIter.More(); anIter.Next()) { const TopoDS_Shape& aShape = anIter.Key(); aBuilder.Add(aComp, aShape); // change deviation coefficient to provide more precise circle @@ -126,11 +127,11 @@ void PartSet_OperationPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t setWidth(aDrawer, aWidth); } } - StdPrs_WFDeflectionShape::Add(thePresentation, aShape, aDrawer); + StdPrs_WFShape::Add(thePresentation, aShape, aDrawer); } Set(aComp); if (!aReadyToDisplay) { - Events_InfoMessage("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))); @@ -169,7 +170,8 @@ void PartSet_OperationPrs::addValue(const ObjectPtr& theObject, const GeomShapeP if (theObject.get()) { ResultPtr aResult = std::dynamic_pointer_cast(theObject); if (aResult.get()) { - ResultCompSolidPtr aCompsolidResult = std::dynamic_pointer_cast(theObject); + ResultCompSolidPtr aCompsolidResult = + std::dynamic_pointer_cast(theObject); if (aCompsolidResult.get()) { if (aCompsolidResult->numberOfSubs() > 0) { for(int i = 0; i < aCompsolidResult->numberOfSubs(); i++) { @@ -186,7 +188,8 @@ void PartSet_OperationPrs::addValue(const ObjectPtr& theObject, const GeomShapeP else { FeaturePtr aFeature = ModelAPI_Feature::feature(theObject); if (aFeature.get()) { - AttributeBooleanPtr aCopyAttr = aFeature->data()->boolean(SketchPlugin_SketchEntity::COPY_ID()); + AttributeBooleanPtr aCopyAttr = + aFeature->data()->boolean(SketchPlugin_SketchEntity::COPY_ID()); if (aCopyAttr.get()) { bool isCopy = aCopyAttr->value(); if (isCopy) @@ -256,7 +259,7 @@ void PartSet_OperationPrs::getFeatureShapes(const FeaturePtr& theFeature, std::string anAttrType = anAttribute->attributeType(); if (anAttrType == ModelAPI_AttributeSelectionList::typeId()) { - std::shared_ptr aCurSelList = + std::shared_ptr aCurSelList = std::dynamic_pointer_cast(anAttribute); for(int i = 0; i < aCurSelList->size(); i++) { std::shared_ptr aSelAttribute = aCurSelList->value(i); @@ -290,7 +293,8 @@ void PartSet_OperationPrs::getFeatureShapes(const FeaturePtr& theFeature, ObjectPtr anObject; GeomShapePtr aShape; if (anAttrType == ModelAPI_AttributeRefAttr::typeId()) { - AttributeRefAttrPtr anAttr = std::dynamic_pointer_cast(anAttribute); + AttributeRefAttrPtr anAttr = + std::dynamic_pointer_cast(anAttribute); if (anAttr->isObject()) { anObject = anAttr->object(); } @@ -305,12 +309,14 @@ void PartSet_OperationPrs::getFeatureShapes(const FeaturePtr& theFeature, } } if (anAttrType == ModelAPI_AttributeSelection::typeId()) { - AttributeSelectionPtr anAttr = std::dynamic_pointer_cast(anAttribute); + AttributeSelectionPtr anAttr = + std::dynamic_pointer_cast(anAttribute); anObject = anAttr->context(); aShape = anAttr->value(); } if (anAttrType == ModelAPI_AttributeReference::typeId()) { - AttributeReferencePtr anAttr = std::dynamic_pointer_cast(anAttribute); + AttributeReferencePtr anAttr = + std::dynamic_pointer_cast(anAttribute); anObject = anAttr->value(); } addValue(anObject, aShape, theFeature, theWorkshop, theObjectShapes); @@ -331,9 +337,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(); @@ -342,18 +349,15 @@ void PartSet_OperationPrs::getResultShapes(const FeaturePtr& theFeature, } void PartSet_OperationPrs::getHighlightedShapes(ModuleBase_IWorkshop* theWorkshop, - QMap >& theObjectShapes) + QMap >& theObjectShapes) { 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(), @@ -385,9 +389,11 @@ bool PartSet_OperationPrs::isSelectionAttribute(const AttributePtr& theAttribute anAttrType == ModelAPI_AttributeReference::typeId(); } -void PartSet_OperationPrs::fillShapeList(const QMap >& theFeatureShapes, +void PartSet_OperationPrs::fillShapeList( + const QMap >& theFeatureShapes, ModuleBase_IWorkshop* theWorkshop, - NCollection_DataMap& theShapeToPrsMap) + NCollection_DataMap& theShapeToPrsMap) { theShapeToPrsMap.Clear();