]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fix: using wron label for expression
authorspo <sergey.pokhodenko@opencascade.com>
Thu, 6 Aug 2015 08:52:26 +0000 (11:52 +0300)
committerspo <sergey.pokhodenko@opencascade.com>
Thu, 6 Aug 2015 08:53:14 +0000 (11:53 +0300)
src/Model/Model_Data.cpp

index 0fa5d92038723d111c9c6c365724ac0d73ffa07f..0e8d64bd1a911fbce36e8365379023c621999120 100644 (file)
@@ -103,7 +103,8 @@ AttributePtr Model_Data::addAttribute(const std::string& theID, const std::strin
     anAttr = new Model_AttributeInteger(anAttrLab);
   } else if (theAttrType == ModelAPI_AttributeDouble::typeId()) {
     Model_AttributeDouble* anAttribute = new Model_AttributeDouble(anAttrLab);
-    anAttribute->myExpression.reset(new Model_Expression(myLab.FindChild(myLab.NbChildren() + 1)));
+    TDF_Label anExpressionLab = anAttrLab.FindChild(anAttrLab.NbChildren() + 1);
+    anAttribute->myExpression.reset(new Model_Expression(anExpressionLab));
     anAttribute->myIsInitialized = anAttribute->myIsInitialized && anAttribute->myExpression->isInitialized(); 
     anAttr = anAttribute;
   } else if (theAttrType == Model_AttributeBoolean::typeId()) {
@@ -127,7 +128,8 @@ AttributePtr Model_Data::addAttribute(const std::string& theID, const std::strin
   else if (theAttrType == GeomData_Point::typeId()) {
     GeomData_Point* anAttribute = new GeomData_Point(anAttrLab);
     for (int aComponent = 0; aComponent < GeomData_Point::NUM_COMPONENTS; ++aComponent) {
-      anAttribute->myExpression[aComponent].reset(new Model_Expression(myLab.FindChild(myLab.NbChildren() + 1)));
+      TDF_Label anExpressionLab = anAttrLab.FindChild(anAttrLab.NbChildren() + 1);
+      anAttribute->myExpression[aComponent].reset(new Model_Expression(anExpressionLab));
       anAttribute->myIsInitialized = anAttribute->myIsInitialized && anAttribute->myExpression[aComponent]->isInitialized(); 
     }
     anAttr = anAttribute;
@@ -136,7 +138,8 @@ AttributePtr Model_Data::addAttribute(const std::string& theID, const std::strin
   } else if (theAttrType == GeomData_Point2D::typeId()) {
     GeomData_Point2D* anAttribute = new GeomData_Point2D(anAttrLab);
     for (int aComponent = 0; aComponent < GeomData_Point2D::NUM_COMPONENTS; ++aComponent) {
-      anAttribute->myExpression[aComponent].reset(new Model_Expression(myLab.FindChild(myLab.NbChildren() + 1)));
+      TDF_Label anExpressionLab = anAttrLab.FindChild(anAttrLab.NbChildren() + 1);
+      anAttribute->myExpression[aComponent].reset(new Model_Expression(anExpressionLab));
       anAttribute->myIsInitialized = anAttribute->myIsInitialized && anAttribute->myExpression[aComponent]->isInitialized(); 
     }
     anAttr = anAttribute;