]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/Model/Model_ResultPart.cpp
Salome HOME
Issue #19890: Shape displayed with some transparency after symmetry
[modules/shaper.git] / src / Model / Model_ResultPart.cpp
index 01d7ef900e78482cef0e320e097372a5f39ce653..51d8879bd4265946b869c31db4ab0f4bd05ef60f 100644 (file)
@@ -36,6 +36,8 @@
 
 #include <GeomAPI_Trsf.h>
 
+#include <GeomAlgoAPI_Transform.h>
+
 #include <Locale_Convert.h>
 
 #include <TNaming_Tool.hxx>
@@ -197,12 +199,9 @@ std::shared_ptr<GeomAPI_Shape> Model_ResultPart::shape()
       ResultPtr anOrigResult = baseRef();
       std::shared_ptr<GeomAPI_Shape> anOrigShape = anOrigResult->shape();
       if (anOrigShape.get()) {
-        TopoDS_Shape aShape = anOrigShape->impl<TopoDS_Shape>();
-        if (!aShape.IsNull()) {
-          aShape.Move(*(myTrsf.get()));
-          myShape = aShape;
-          aResult->setImpl(new TopoDS_Shape(aShape));
-        }
+        GeomTrsfPtr aTrsf = std::make_shared<GeomAPI_Trsf>(new gp_Trsf(*myTrsf));
+        GeomAlgoAPI_Transform aTransform(anOrigShape, aTrsf);
+        aResult = aTransform.shape();
       }
       if (!myShape.IsNull() && aToSendUpdate) {
         static const Events_ID anEvent = Events_Loop::eventByName(EVENT_OBJECT_UPDATED);