X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_PreMeshInfo.cxx;h=23b7452c70c24ae380b4197372bfc93eb3d34577;hb=cc2c7dfdc05c6f4b75376f9b66e8b2fb65d892f0;hp=f479f48666ec529c675a87d3b604e9d12d267459;hpb=f1ee2beab1bf81ee333f9486a8f47dc11ebd0d89;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_PreMeshInfo.cxx b/src/SMESH_I/SMESH_PreMeshInfo.cxx index f479f4866..23b7452c7 100644 --- a/src/SMESH_I/SMESH_PreMeshInfo.cxx +++ b/src/SMESH_I/SMESH_PreMeshInfo.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -53,6 +53,8 @@ #include "SMESH_TryCatch.hxx" +#include + #include CORBA_SERVER_HEADER(SALOME_Session) using namespace std; @@ -72,7 +74,7 @@ namespace */ //================================================================================ - void meshInfoLoaded( SMESH_Mesh_i* mesh ) + void meshInfoLoaded( SMESH_Mesh_i* /*mesh*/ ) { theMeshCounter++; } @@ -82,7 +84,7 @@ namespace */ //================================================================================ - void filesNoMoreNeeded(SMESH_Mesh_i* mesh, + void filesNoMoreNeeded(SMESH_Mesh_i* /*mesh*/, std::string medFile, std::string hdfFile) { @@ -242,9 +244,9 @@ namespace */ //================================================================================ - void meshInfo2hdf( SMESH::long_array_var meshInfo, - const std::string& name, - HDFgroup* hdfGroup) + void meshInfo2hdf( SMESH::smIdType_array_var meshInfo, + const std::string& name, + HDFgroup* hdfGroup) { // we use med identification of element (MED::EGeometrieElement) types // but not enum SMDSAbs_EntityType because values of SMDSAbs_EntityType may @@ -262,8 +264,8 @@ namespace if ( !data.empty() ) { - hdf_size datasetSize[] = { data.size() }; - HDFarray* anArray = new HDFarray(0, HDF_INT32, 1, datasetSize); + hdf_size *datasetSize = new hdf_size[1]; datasetSize[0] = data.size(); + std::unique_ptr anArray( new HDFarray(0, HDF_INT32, 1, datasetSize) ); anArray->CreateOnDisk(); datasetSize[0] = 1; HDFdataset* dataset = new HDFdataset( name.c_str(), hdfGroup, HDF_ARRAY, datasetSize, 1 ); @@ -456,7 +458,7 @@ bool SMESH_PreMeshInfo::readPreInfoFromHDF() mapOfNames ); } } - infoHdfGroup->CloseOnDisk(); + infoHdfGroup->CloseOnDisk(); } aFile->CloseOnDisk(); @@ -479,7 +481,7 @@ bool SMESH_PreMeshInfo::readMeshInfo() MED::PMeshInfo medMeshInfo = aMed->CrMeshInfo(3,3,SMESH_Comment( _meshID )); // read nb nodes - int nbNodes = std::max( 0, aMed->GetNbNodes( medMeshInfo )); + int nbNodes = Max( 0, aMed->GetNbNodes( medMeshInfo )); if ( nbNodes > 0 ) { setNb( SMDSEntity_Node, nbNodes); @@ -841,8 +843,9 @@ void SMESH_PreMeshInfo::FullLoadFromFile() const meshDS->Modified(); // load dependent meshes referring/referred via hypotheses - mesh.GetSubMesh( mesh.GetShapeToMesh() )-> - ComputeStateEngine (SMESH_subMesh::SUBMESH_LOADED); + SMESH_subMesh* mainSub = mesh.GetSubMesh( mesh.GetShapeToMesh() ); + mainSub->ComputeStateEngine (SMESH_subMesh::SUBMESH_RESTORED); // #16648 + mainSub->ComputeStateEngine (SMESH_subMesh::SUBMESH_LOADED); MYDEBUGOUT( "END FullLoadFromFile()" ); } @@ -923,9 +926,9 @@ void SMESH_PreMeshInfo::readSubMeshes(DriverMED_R_SMESHDS_Mesh* reader) const // -- Most probably a bad study was saved when there were // not fixed bugs in SMDS_MeshInfo if ( elemSet.size() < nbElems ) { -#ifdef _DEBUG_ - cout << "SMESH_Gen_i::Load(), warning: Node position data is invalid" << endl; -#endif + if (SALOME::VerbosityActivated()) + cout << "SMESH_Gen_i::Load(), warning: Node position data is invalid" << endl; + nbElems = elemSet.size(); } // add elements to sub-meshes @@ -1197,9 +1200,9 @@ SMESH::array_of_ElementType* SMESH_PreMeshInfo::GetTypes() const */ //================================================================================ -SMESH::long_array* SMESH_PreMeshInfo::GetMeshInfo() const +SMESH::smIdType_array* SMESH_PreMeshInfo::GetMeshInfo() const { - SMESH::long_array_var aRes = new SMESH::long_array(); + SMESH::smIdType_array_var aRes = new SMESH::smIdType_array(); aRes->length(SMESH::Entity_Last); for (int i = SMESH::Entity_Node; i < SMESH::Entity_Last; i++) aRes[i] = 0; @@ -1232,7 +1235,7 @@ void SMESH_PreMeshInfo::RemoveStudyFiles_TMP_METHOD(SALOMEDS::SComponent_ptr sme { if ( theMeshCounter > 0 ) { - SALOMEDS::ChildIterator_wrap itBig = SMESH_Gen_i::getStudyServant()->NewChildIterator( smeshComp ); + SALOMEDS::ChildIterator_wrap itBig = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->NewChildIterator( smeshComp ); for ( ; itBig->More(); itBig->Next() ) { SALOMEDS::SObject_wrap gotBranch = itBig->Value(); CORBA::Object_var anObject = SMESH_Gen_i::SObjectToObject( gotBranch );