From 2e5f78b7d298f01eda6768a5e7427f60b09a0691 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 31 Jan 2017 17:28:41 +0300 Subject: [PATCH] IPAL53915: Display Entity dialog does not work --- src/OBJECT/SMESH_Actor.cxx | 10 +++++----- src/OBJECT/SMESH_Object.cxx | 6 +++++- src/SMESHGUI/SMESHGUI_ComputeDlg.cxx | 9 ++++----- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/OBJECT/SMESH_Actor.cxx b/src/OBJECT/SMESH_Actor.cxx index 5c2e918ab..2fcd2a67c 100644 --- a/src/OBJECT/SMESH_Actor.cxx +++ b/src/OBJECT/SMESH_Actor.cxx @@ -1559,7 +1559,7 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation) void SMESH_ActorDef::SetEntityMode(unsigned int theMode) { - myEntityState = eAllEntity; + myEntityState = eAllEntity; // entities present in my object if(!myVisualObj->GetNbEntities(SMDSAbs_0DElement)) { myEntityState &= ~e0DElements; @@ -1605,7 +1605,7 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode) myBaseActor->myGeomFilter->SetInside(myEntityMode != myEntityState); - myEntityMode = theMode; + myEntityMode = theMode; // entities to show VTKViewer_ExtractUnstructuredGrid* aFilter = myBaseActor->GetExtractUnstructuredGrid(); aFilter->ClearRegisteredCellsWithType(); @@ -1983,9 +1983,9 @@ void SMESH_ActorDef::Update() SetFacesOriented(myIsFacesOriented); } - if(myVisualObj->GetEntitiesFlag()) { - myEntityMode |= myVisualObj->GetEntitiesState(); - } + // if(myVisualObj->GetEntitiesFlag()) { IPAL53915 + // myEntityMode |= myVisualObj->GetEntitiesState(); + // } SetEntityMode(GetEntityMode()); SetVisibility(GetVisibility()); diff --git a/src/OBJECT/SMESH_Object.cxx b/src/OBJECT/SMESH_Object.cxx index 3b9cd0b8c..253219d0b 100644 --- a/src/OBJECT/SMESH_Object.cxx +++ b/src/OBJECT/SMESH_Object.cxx @@ -32,6 +32,8 @@ #include "SMDS_Mesh.hxx" #include "SMDS_MeshCell.hxx" #include "SMDS_PolyhedralVolumeOfNodes.hxx" +#include "SMESHDS_Mesh.hxx" +#include "SMESHDS_Script.hxx" #include "SMESH_Actor.h" #include "SMESH_ControlsDef.hxx" @@ -54,7 +56,7 @@ #include #include -#include "utilities.h" +#include using namespace std; @@ -283,6 +285,8 @@ void SMESH_VisualObjDef::buildPrs(bool buildGrid) NulData(); // detach from the SMDS grid to allow immediate memory de-allocation in compactMesh() if ( MYDEBUG ) MESSAGE("*** buildPrs ==> compactMesh!"); GetMesh()->compactMesh(); + if ( SMESHDS_Mesh* m = dynamic_cast( GetMesh() )) // IPAL53915 + m->GetScript()->SetModified(false); // drop IsModified set in compactMesh() } vtkUnstructuredGrid *theGrid = GetMesh()->getGrid(); updateEntitiesFlags(); diff --git a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx index 32b472ff6..3082f70e1 100644 --- a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx @@ -1010,11 +1010,10 @@ void SMESHGUI_BaseComputeOp::computeMesh() Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject ( (*anIter).second->GetID().c_str(), "SMESH", (*anIter).second->GetName().c_str() ); SMESH::Update(anIO, toDisplay); - if( SVTK_ViewWindow* vtkWnd = SMESH::GetVtkViewWindow(SMESH::GetActiveWindow() ) ) { - if( vtkWnd->getRenderer() ){ - vtkWnd->getRenderer()->ResetCameraClippingRange(); - } - } + + if ( SVTK_ViewWindow* vtkWnd = SMESH::GetVtkViewWindow(SMESH::GetActiveWindow() )) + if ( vtkWnd->getRenderer() ) + vtkWnd->getRenderer()->ResetCameraClippingRange(); if ( limitExceeded && !aMesh->_is_nil() ) {