Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IPAL53915: Display Entity dialog does not work
[modules/smesh.git]
/
src
/
OBJECT
/
SMESH_Object.cxx
diff --git
a/src/OBJECT/SMESH_Object.cxx
b/src/OBJECT/SMESH_Object.cxx
index 61b36a78c706f0b5270700ee4678bd80994a9b19..253219d0b2b565a1466f7d4eb66823d0e3259ec0 100644
(file)
--- 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 "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"
#include "SMESH_Actor.h"
#include "SMESH_ControlsDef.hxx"
@@
-54,7
+56,7
@@
#include <stdexcept>
#include <set>
#include <stdexcept>
#include <set>
-#include
"utilities.h"
+#include
<utilities.h>
using namespace std;
using namespace std;
@@
-280,8
+282,11
@@
void SMESH_VisualObjDef::buildPrs(bool buildGrid)
myLocalGrid = false;
if (!GetMesh()->isCompacted())
{
myLocalGrid = false;
if (!GetMesh()->isCompacted())
{
+ NulData(); // detach from the SMDS grid to allow immediate memory de-allocation in compactMesh()
if ( MYDEBUG ) MESSAGE("*** buildPrs ==> compactMesh!");
GetMesh()->compactMesh();
if ( MYDEBUG ) MESSAGE("*** buildPrs ==> 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();
updateEntitiesFlags();
}
vtkUnstructuredGrid *theGrid = GetMesh()->getGrid();
updateEntitiesFlags();
@@
-570,6
+575,7
@@
vtkUnstructuredGrid* SMESH_VisualObjDef::GetUnstructuredGrid()
{
if ( !myLocalGrid && !GetMesh()->isCompacted() )
{
{
if ( !myLocalGrid && !GetMesh()->isCompacted() )
{
+ NulData(); // detach from the SMDS grid to allow immediate memory de-allocation in compactMesh()
GetMesh()->compactMesh();
updateEntitiesFlags();
vtkUnstructuredGrid *theGrid = GetMesh()->getGrid();
GetMesh()->compactMesh();
updateEntitiesFlags();
vtkUnstructuredGrid *theGrid = GetMesh()->getGrid();
@@
-717,7
+723,7
@@
bool SMESH_MeshObj::NulData()
points->SetNumberOfPoints(0);
myEmptyGrid->SetPoints( points );
points->Delete();
points->SetNumberOfPoints(0);
myEmptyGrid->SetPoints( points );
points->Delete();
- myEmptyGrid->BuildLinks();
+
//
myEmptyGrid->BuildLinks();
}
myGrid->ShallowCopy(myEmptyGrid);
return true;
}
myGrid->ShallowCopy(myEmptyGrid);
return true;