Salome HOME
Fix for removing sketch and sub-components not correct history position was defined
[modules/shaper.git] / src / Model / Model_ResultConstruction.cpp
index 17b20df98dc4eff497b1eb03ed3bfbbbbaf72e09..e614fd89ca4f73ece682dcf6ff20d9cdb039bf80 100644 (file)
@@ -15,7 +15,7 @@ void Model_ResultConstruction::initAttributes()
 {
   // append the color attribute. It is empty, the attribute will be filled by a request
   DataPtr aData = data();
-  aData->addAttribute(COLOR_ID(), ModelAPI_AttributeIntArray::type());
+  aData->addAttribute(COLOR_ID(), ModelAPI_AttributeIntArray::typeId());
 }
 
 void Model_ResultConstruction::colorConfigInfo(std::string& theSection, std::string& theName,
@@ -28,9 +28,9 @@ void Model_ResultConstruction::colorConfigInfo(std::string& theSection, std::str
 
 void Model_ResultConstruction::setShape(std::shared_ptr<GeomAPI_Shape> theShape)
 {
-  if (myShape != theShape) {
+  if (myShape != theShape && (!theShape.get() || !theShape->isEqual(myShape))) {
     myShape = theShape;
-    if (theShape.get() && (!myShape.get() || !theShape->isEqual(myShape))) {
+    if (theShape.get()) {
       myFacesUpToDate = false;
       myFaces.clear();
     }
@@ -61,7 +61,7 @@ int Model_ResultConstruction::facesNum()
       std::dynamic_pointer_cast<GeomAPI_PlanarEdges>(myShape);
     std::list<std::shared_ptr<GeomAPI_Shape> > aFaces;
     GeomAlgoAPI_SketchBuilder::createFaces(aWirePtr->origin(), aWirePtr->dirX(),
-      aWirePtr->dirY(), aWirePtr->norm(), aWirePtr, aFaces);
+      aWirePtr->norm(), aWirePtr, aFaces);
     std::list<std::shared_ptr<GeomAPI_Shape> >::iterator aFIter = aFaces.begin();
     for(; aFIter != aFaces.end(); aFIter++) {
       std::shared_ptr<GeomAPI_Face> aFace(new GeomAPI_Face(*aFIter));