Salome HOME
Crash after pre-viewing mesh translation
authoreap <eap@opencascade.com>
Wed, 14 Nov 2018 13:41:52 +0000 (16:41 +0300)
committervsr <vsr@opencascade.com>
Wed, 14 Nov 2018 15:01:40 +0000 (18:01 +0300)
12 files changed:
src/SMESHGUI/SMESHGUI_ComputeDlg.cxx
src/SMESHGUI/SMESHGUI_ConvToQuadOp.cxx
src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx
src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx
src/SMESHGUI/SMESHGUI_FindElemByPointDlg.cxx
src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.cxx
src/SMESHGUI/SMESHGUI_MeshEditPreview.cxx
src/SMESHGUI/SMESHGUI_MeshEditPreview.h
src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
src/SMESHGUI/SMESHGUI_PreviewDlg.cxx
src/SMESHGUI/SMESHGUI_ReorientFacesDlg.cxx
src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx

index e5ad4a878cabdd555a2d278a5b07ff91922dcba7..a40bac0d4053ce841deac240e6f86ad10f518b22 100644 (file)
@@ -1339,7 +1339,7 @@ void SMESHGUI_BaseComputeOp::onShowBadMesh()
       prop->SetPointSize( aPointSize * 3 );
       prop->SetColor( 250, 0, 250 );
       myBadMeshDisplayer->GetActor()->SetProperty( prop );
-      myBadMeshDisplayer->SetData( aMeshData._retn() );
+      myBadMeshDisplayer->SetData( aMeshData.in() );
       prop->Delete();
     }
   }
@@ -1979,11 +1979,10 @@ void SMESHGUI_PrecomputeOp::onPreview()
     SMESH::MeshPreviewStruct_var previewData =
       gen->Precompute(myMesh, myMainShape, (SMESH::Dimension)dim, aShapesId);
 
-    SMESH::MeshPreviewStruct* previewRes = previewData._retn();
-    if ( previewRes && previewRes->nodesXYZ.length() > 0 )
+    if ( & previewData.in() && previewData->nodesXYZ.length() > 0 )
     {
       computeFailed = false;
-      myPreviewDisplayer->SetData( previewRes );
+      myPreviewDisplayer->SetData( previewData );
       // append shape indices with computed mesh entities
       for ( int i = 0, n = aShapesId->length(); i < n; i++ )
         myMapShapeId[ aShapesId[ i ] ] = 0;
index 3b038c5ff07ca1072b4897bddd1941641b975298..ad0c20a8185f42d9f309a37e60d532f76093b009 100644 (file)
@@ -265,7 +265,7 @@ bool SMESHGUI_ConvToQuadOp::onApply()
           prop->Delete();
 
           SMESH::MeshPreviewStruct_var previewData = aEditor->GetPreviewData();
-          myBadElemsPreview->SetData( previewData._retn() );
+          myBadElemsPreview->SetData( previewData.in() );
           myBadElemsPreview->SetVisibility(true);
 
           SUIT_MessageBox* mb = new SUIT_MessageBox(SUIT_MessageBox::Warning,
index cae3a05892a015315369923fbf68dc4b1a261309..0ad8681dfcd488e8a9e8f170035e247f2fcb9d80 100644 (file)
@@ -1112,7 +1112,7 @@ void SMESHGUI_ExtrusionAlongPathDlg::onDisplaySimulation( bool toDisplayPreview
           if( retVal == SMESH::SMESH_MeshEditor::EXTR_OK )
           {
             SMESH::MeshPreviewStruct_var aMeshPreviewStruct = meshEditor->GetPreviewData();
-            mySimulation->SetData( aMeshPreviewStruct._retn() );
+            mySimulation->SetData( aMeshPreviewStruct.in() );
           }
           else {
             hidePreview();
index b1e89e0124805e0bdc921e992b6115fee8c8d749..d17be56aa2458390eb1dab3825c15a1e9d2b4814 100644 (file)
@@ -1573,7 +1573,7 @@ void SMESHGUI_ExtrusionDlg::onDisplaySimulation( bool toDisplayPreview )
                                                       makeGroups );
         }
         SMESH::MeshPreviewStruct_var aMeshPreviewStruct = meshEditor->GetPreviewData();
-        mySimulation->SetData(aMeshPreviewStruct._retn());
+        mySimulation->SetData(aMeshPreviewStruct);
 
       } catch (...) {
         hidePreview();
index 701fef8e4480b2b30c853d40b5dc5efe61e509e1..719b8ebb99d9929e348d592edbe88fae049a4337 100644 (file)
@@ -536,7 +536,7 @@ void SMESHGUI_FindElemByPointOp::redisplayPreview()
   myPreview->nodesXYZ[0].z = myDlg->myZ->GetValue();
   if (!mySimulation)
     mySimulation = new SMESHGUI_MeshEditPreview(SMESH::GetViewWindow( mySMESHGUI ));
-  mySimulation->SetData( myPreview._retn());
+  mySimulation->SetData( myPreview.in());
 }
 
 //================================================================================
index 3c131f2b10199f144ed3079efe64fd58305f3d94..f1b55af95c457e537a1d81eab8b1f7c91de93ec9 100644 (file)
@@ -811,9 +811,9 @@ void SMESHGUI_MakeNodeAtPointOp::redisplayPreview()
   if (!mySimulation)
     mySimulation = new SMESHGUI_MeshEditPreview(SMESH::GetViewWindow( mySMESHGUI ));
   // display data
-  if ( aMeshPreviewStruct.operator->() )
+  if ( & aMeshPreviewStruct.in() )
   {
-    mySimulation->SetData(aMeshPreviewStruct._retn());
+    mySimulation->SetData( aMeshPreviewStruct.in() );
   }
   else
   {
index 1e58474dd93ed98e358e0eb7b2d1997553020944..0ebdfe5fd739583ba27bb624915b23c17520c2dc 100644 (file)
@@ -167,10 +167,10 @@ vtkIdType getCellType( const SMDSAbs_ElementType theType,
  */
 //================================================================================
 
-void SMESHGUI_MeshEditPreview::SetData (const SMESH::MeshPreviewStruct_var previewData)
+void SMESHGUI_MeshEditPreview::SetData (const SMESH::MeshPreviewStruct& previewData)
 {
   // Create points
-  const SMESH::nodes_array& aNodesXYZ = previewData->nodesXYZ;
+  const SMESH::nodes_array& aNodesXYZ = previewData.nodesXYZ;
   vtkPoints* aPoints = vtkPoints::New();
   aPoints->SetNumberOfPoints(aNodesXYZ.length());
 
@@ -182,8 +182,8 @@ void SMESHGUI_MeshEditPreview::SetData (const SMESH::MeshPreviewStruct_var previ
   aPoints->Delete();
 
   // Create cells
-  const SMESH::long_array&  anElemConnectivity = previewData->elementConnectivities;
-  const SMESH::types_array& anElemTypes = previewData->elementTypes;
+  const SMESH::long_array&  anElemConnectivity = previewData.elementConnectivities;
+  const SMESH::types_array& anElemTypes = previewData.elementTypes;
 
   vtkIdType aCellsSize = anElemConnectivity.length() + anElemTypes.length();
   vtkIdType aNbCells = anElemTypes.length();
index 6d58999adab417e621e242ec3fecd9a3d6c1ad17..f7873298e2749cfbb3ccdeacaa3ec82fba9575f9 100644 (file)
@@ -57,7 +57,7 @@ public:
   SMESHGUI_MeshEditPreview( SVTK_ViewWindow* );
   ~SMESHGUI_MeshEditPreview();
 
-  void                 SetData( const SMESH::MeshPreviewStruct_var );
+  void                 SetData( const SMESH::MeshPreviewStruct& );
 
   void                 SetVisibility( bool );
   void                 SetColor( double, double, double );
index a1d1f3e6be952cb73c714a6a2e7d01c2db0b7fac..19a08d1b9b1c63c2ca8ebdfd0b88ffad1966ac73 100755 (executable)
@@ -1242,7 +1242,7 @@ void SMESHGUI_UnionOfTrianglesDlg::onDisplaySimulation( bool toDisplayPreview )
         mySimulation->GetActor()->SetProperty( aProp );
         aProp->Delete();
 
-        mySimulation->SetData( aMeshPreviewStruct._retn() );
+        mySimulation->SetData( aMeshPreviewStruct.in() );
       } catch ( ... ) {
         hidePreview();
       }
index f1f1a1f118b7f0b235c97a5057612976e71763fb..99158f80667ceae7e31ecf11ad788679d44ad4c7 100644 (file)
@@ -248,7 +248,7 @@ void SMESHGUI_MultiPreviewDlg::setSimulationPreview( QList<SMESH::MeshPreviewStr
   mySimulationList.clear();
   for ( int i = 0; i < theMeshPreviewStruct.count(); i++ ) {
     mySimulationList << new SMESHGUI_MeshEditPreview( SMESH::GetViewWindow( mySMESHGUI ) );
-    mySimulationList[i]->SetData( theMeshPreviewStruct[i].operator->() );
+    mySimulationList[i]->SetData( theMeshPreviewStruct[i].in() );
   }
 }
 
index 51c993fd598498d41d51b4a4ea64c8afcf5a30b2..a83e66bee208e986c04a97ef1f29a1b7366b861c 100644 (file)
@@ -933,9 +933,9 @@ void SMESHGUI_ReorientFacesOp::redisplayPreview()
 //   }
 
 //   // display data
-//   if ( aMeshPreviewStruct.operator->() )
+//   if ( & aMeshPreviewStruct.in() )
 //   {
-//     myVectorPreview->SetData(aMeshPreviewStruct._retn());
+//     myVectorPreview->SetData(aMeshPreviewStruct.in());
 //   }
 //   else
 //   {
index 30be2c543a61ce512e328ae7ebf2a0452c5fcb20..11aae4d2121d1f3eea3c0f12fa132ac8bbe51ec8 100644 (file)
@@ -796,7 +796,7 @@ void SMESHGUI_RevolutionDlg::onDisplaySimulation(bool toDisplayPreview)
                                          anAxis, anAngle, aNbSteps, aTolerance, makeGroups );
 
         SMESH::MeshPreviewStruct_var aMeshPreviewStruct = meshEditor->GetPreviewData();
-        mySimulation->SetData( aMeshPreviewStruct._retn() );
+        mySimulation->SetData( aMeshPreviewStruct.in() );
       }
       catch (...) {}
     }