]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #258: make selection information of the attribute label, not on the data label...
authormpv <mikhail.ponikarov@opencascade.com>
Tue, 11 Nov 2014 08:23:07 +0000 (11:23 +0300)
committermpv <mikhail.ponikarov@opencascade.com>
Tue, 11 Nov 2014 08:23:07 +0000 (11:23 +0300)
src/Model/Model_AttributeSelection.cpp
src/Model/Model_Document.cpp

index c284b49eb48291e09625458a7ecaa732e20bb1d0..05888b5d73f1834fad0dd005dc7e8c65bf9a7e9f 100644 (file)
@@ -114,9 +114,7 @@ bool Model_AttributeSelection::update()
       boost::dynamic_pointer_cast<GeomAPI_PlanarEdges>(
       boost::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext)->shape());
     if (aWirePtr && aWirePtr->hasPlane()) {
-      boost::shared_ptr<Model_Data> aData = 
-        boost::dynamic_pointer_cast<Model_Data>(owner()->data());
-      TDF_Label aLab = aData->label();
+      TDF_Label aLab = myRef.myRef->Label();
       // getting a type of selected shape
       Handle(TDataStd_Integer) aTypeAttr;
       if (!aLab.FindAttribute(TDataStd_Integer::GetID(), aTypeAttr)) {
@@ -305,7 +303,7 @@ void Model_AttributeSelection::selectConstruction(
     return; // saving of context is enough: result construction contains exactly the needed shape
   }
   boost::shared_ptr<Model_Data> aData = boost::dynamic_pointer_cast<Model_Data>(owner()->data());
-  TDF_Label aLab = aData->label();
+  TDF_Label aLab = myRef.myRef->Label();
   // identify the reuslts of sub-object of the composite by edges
   const TopoDS_Shape& aSubShape = theSubShape->impl<TopoDS_Shape>();
   // save type of the selected shape in integer attribute
@@ -325,6 +323,7 @@ void Model_AttributeSelection::selectConstruction(
   }
   // iterate and store the result ids of sub-elements
   Handle(TDataStd_IntPackedMap) aRefs = TDataStd_IntPackedMap::Set(aLab);
+  aRefs->Clear();
   const int aSubNum = aComposite->numberOfSubs();
   for(int a = 0; a < aSubNum; a++) {
     FeaturePtr aSub = aComposite->subFeature(a);
index 7e2d215ee08360bdbbe599af8c63b7c057763e69..7b77ac066f3119454bac7347e4a76db8ccd1c4fc 100644 (file)
@@ -254,7 +254,7 @@ bool Model_Document::compactNested()
   myIsEmptyTr[myTransactionsAfterSave] = allWasEmpty;
   myTransactionsAfterSave++;
   if (allWasEmpty) {
-    // if everything is empty, it is a problem for OCCT to work with it, 
+    // Issue 151: if everything is empty, it is a problem for OCCT to work with it, 
     // just commit the empty that returns nothing
     myDoc->CommitCommand();
   } else {