IPAL53915: Display Entity dialog does not work

This commit is contained in:
eap 2017-01-31 17:28:41 +03:00
parent 9b504e4867
commit 2e5f78b7d2
3 changed files with 14 additions and 11 deletions

View File

@ -1559,7 +1559,7 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation)
void SMESH_ActorDef::SetEntityMode(unsigned int theMode) void SMESH_ActorDef::SetEntityMode(unsigned int theMode)
{ {
myEntityState = eAllEntity; myEntityState = eAllEntity; // entities present in my object
if(!myVisualObj->GetNbEntities(SMDSAbs_0DElement)) { if(!myVisualObj->GetNbEntities(SMDSAbs_0DElement)) {
myEntityState &= ~e0DElements; myEntityState &= ~e0DElements;
@ -1605,7 +1605,7 @@ void SMESH_ActorDef::SetEntityMode(unsigned int theMode)
myBaseActor->myGeomFilter->SetInside(myEntityMode != myEntityState); myBaseActor->myGeomFilter->SetInside(myEntityMode != myEntityState);
myEntityMode = theMode; myEntityMode = theMode; // entities to show
VTKViewer_ExtractUnstructuredGrid* aFilter = myBaseActor->GetExtractUnstructuredGrid(); VTKViewer_ExtractUnstructuredGrid* aFilter = myBaseActor->GetExtractUnstructuredGrid();
aFilter->ClearRegisteredCellsWithType(); aFilter->ClearRegisteredCellsWithType();
@ -1983,9 +1983,9 @@ void SMESH_ActorDef::Update()
SetFacesOriented(myIsFacesOriented); SetFacesOriented(myIsFacesOriented);
} }
if(myVisualObj->GetEntitiesFlag()) { // if(myVisualObj->GetEntitiesFlag()) { IPAL53915
myEntityMode |= myVisualObj->GetEntitiesState(); // myEntityMode |= myVisualObj->GetEntitiesState();
} // }
SetEntityMode(GetEntityMode()); SetEntityMode(GetEntityMode());
SetVisibility(GetVisibility()); SetVisibility(GetVisibility());

View File

@ -32,6 +32,8 @@
#include "SMDS_Mesh.hxx" #include "SMDS_Mesh.hxx"
#include "SMDS_MeshCell.hxx" #include "SMDS_MeshCell.hxx"
#include "SMDS_PolyhedralVolumeOfNodes.hxx" #include "SMDS_PolyhedralVolumeOfNodes.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_Script.hxx"
#include "SMESH_Actor.h" #include "SMESH_Actor.h"
#include "SMESH_ControlsDef.hxx" #include "SMESH_ControlsDef.hxx"
@ -54,7 +56,7 @@
#include <stdexcept> #include <stdexcept>
#include <set> #include <set>
#include "utilities.h" #include <utilities.h>
using namespace std; 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() NulData(); // detach from the SMDS grid to allow immediate memory de-allocation in compactMesh()
if ( MYDEBUG ) MESSAGE("*** buildPrs ==> compactMesh!"); if ( MYDEBUG ) MESSAGE("*** buildPrs ==> compactMesh!");
GetMesh()->compactMesh(); GetMesh()->compactMesh();
if ( SMESHDS_Mesh* m = dynamic_cast<SMESHDS_Mesh*>( GetMesh() )) // IPAL53915
m->GetScript()->SetModified(false); // drop IsModified set in compactMesh()
} }
vtkUnstructuredGrid *theGrid = GetMesh()->getGrid(); vtkUnstructuredGrid *theGrid = GetMesh()->getGrid();
updateEntitiesFlags(); updateEntitiesFlags();

View File

@ -1010,11 +1010,10 @@ void SMESHGUI_BaseComputeOp::computeMesh()
Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject
( (*anIter).second->GetID().c_str(), "SMESH", (*anIter).second->GetName().c_str() ); ( (*anIter).second->GetID().c_str(), "SMESH", (*anIter).second->GetName().c_str() );
SMESH::Update(anIO, toDisplay); SMESH::Update(anIO, toDisplay);
if( SVTK_ViewWindow* vtkWnd = SMESH::GetVtkViewWindow(SMESH::GetActiveWindow() ) ) {
if( vtkWnd->getRenderer() ){ if ( SVTK_ViewWindow* vtkWnd = SMESH::GetVtkViewWindow(SMESH::GetActiveWindow() ))
vtkWnd->getRenderer()->ResetCameraClippingRange(); if ( vtkWnd->getRenderer() )
} vtkWnd->getRenderer()->ResetCameraClippingRange();
}
if ( limitExceeded && !aMesh->_is_nil() ) if ( limitExceeded && !aMesh->_is_nil() )
{ {