diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f4705da4..ddcef2ba0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ ENDIF() # Versioning # =========== -SALOME_SETUP_VERSION(9.7.0 DEVELOPMENT) +SALOME_SETUP_VERSION(9.8.0 DEVELOPMENT) MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"") # Find KERNEL diff --git a/doc/salome/examples/test_smeshplugins.py b/doc/salome/examples/test_smeshplugins.py index 48f12085c..a6efe765c 100644 --- a/doc/salome/examples/test_smeshplugins.py +++ b/doc/salome/examples/test_smeshplugins.py @@ -17,6 +17,7 @@ __revision__ = "V1.0" ComputeMeshes = True import salome +import platform salome.salome_init_without_session() theStudy = salome.myStudy @@ -74,23 +75,27 @@ while not ERROR : print(TEXTE+": OK") # B.2. Gmsh - TEXTE = "Gmsh" - MESH_2 = smesh.Mesh(BOX) - smesh.SetName(MESH_2.GetMesh(), "M_"+TEXTE) - try : - GMSH = MESH_2.Tetrahedron(algo=smeshBuilder.GMSH) - except : - MESSAGE += "\nImpossible d'utiliser "+TEXTE - ERROR += 1 + # GMSH for windows not yet implemented BOS #18709 + if platform.system() != "Windows" : + TEXTE = "Gmsh" + MESH_2 = smesh.Mesh(BOX) + smesh.SetName(MESH_2.GetMesh(), "M_"+TEXTE) + try : + GMSH = MESH_2.Tetrahedron(algo=smeshBuilder.GMSH) + except : + MESSAGE += "\nImpossible d'utiliser "+TEXTE + ERROR += 1 + else : + if ComputeMeshes : + smesh.SetName(GMSH.GetAlgorithm(), TEXTE) + OK_COMPUTE = MESH_2.Compute() + if not OK_COMPUTE : + MESSAGE += "\nErreur avec "+TEXTE + ERROR += 1 + else : + print(TEXTE+": OK") else : - if ComputeMeshes : - smesh.SetName(GMSH.GetAlgorithm(), TEXTE) - OK_COMPUTE = MESH_2.Compute() - if not OK_COMPUTE : - MESSAGE += "\nErreur avec "+TEXTE - ERROR += 1 - else : - print(TEXTE+": OK") + print("Skipping B.2 on windows") # B.3. MG_CADSurf TEXTE = "MG_CADSurf" diff --git a/doc/salome/examples/tests.set b/doc/salome/examples/tests.set index 4e392b19d..5382b5e9f 100644 --- a/doc/salome/examples/tests.set +++ b/doc/salome/examples/tests.set @@ -43,9 +43,7 @@ SET(BAD_TESTS quality_controls_ex22.py viewing_meshes_ex01.py radial_prism_3d_algo.py - test_smeshplugin_mg_tetra_parallele.py test_smeshplugins.py - MGAdaptTests_without_session.py blocFissure_01_without_session.py blocFissure_02_without_session.py blocFissure_03_without_session.py @@ -55,6 +53,13 @@ SET(BAD_TESTS blocFissure_07_without_session.py ) +IF(NOT WIN32) + LIST(APPEND BAD_TESTS + MGAdaptTests_without_session.py + test_smeshplugin_mg_tetra_parallele.py + ) +ENDIF(NOT WIN32) + SET(GOOD_TESTS cartesian_algo.py create_penta_biquad.py diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 531901fd1..d7b4ed744 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -2082,7 +2082,20 @@ void SMESHGUI::OnEditDelete() SMESH::RemoveHypothesisOrAlgorithmOnMesh(IObject); aStudyBuilder->RemoveObjectWithChildren( SO ); } - else {// default action: remove SObject from the study + else {// default action: remove SObject from the study + // Find Sub-Meshes and Group and delete corresopning visual objects and actors + _PTR(ChildIterator) it1 = aStudy->NewChildIterator(SO); + for (it1->InitEx(false); it1->More(); it1->Next()) { + _PTR(SObject) SObj = it1->Value(); + if (!SObj) continue; + if (SObj->FindAttribute(anAttr, "AttributeIOR")) { + SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow(SMESH::SObjectToObject(SObj)); + SMESH::SMESH_subMesh_var aSubMesh = SMESH::SMESH_subMesh::_narrow(SMESH::SObjectToObject(SObj)); + if (!aGroup->_is_nil() || !aSubMesh->_is_nil()) { + SMESH::RemoveVisualObjectWithActors(SObj->GetID().c_str(), true); + } + } + } // san - it's no use opening a transaction here until UNDO/REDO is provided in SMESH //SUIT_Operation *op = new SALOMEGUI_ImportOperation(myActiveStudy); //op->start(); diff --git a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx index c847d9efb..346372a6f 100644 --- a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx +++ b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx @@ -4458,7 +4458,7 @@ namespace // connect pn2 (probably new, at _eIntNodes) with a split - int i, iConn; + int i, iConn = 0; size_t nbCommon; TGeomID commonFaces[20]; _Node* nPrev = nullptr; diff --git a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx index 48b07193e..0222fa7e2 100644 --- a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx +++ b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx @@ -637,7 +637,11 @@ bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires, m++; } - int mFirst = mOnVertex.front(), mLast = m - 1; + int mFirst = 0, mLast = 0; + if (!mOnVertex.empty()) { + mFirst = mOnVertex.front(); + mLast = m - 1; + } list< int >::iterator mIt = mOnVertex.begin(); for ( ; mIt != mOnVertex.end(); ++mIt) {