From 32676d52c79267fe3a4e1c27fdb650b38a493372 Mon Sep 17 00:00:00 2001 From: Viktor Uzlov Date: Wed, 24 Mar 2021 23:29:43 +0300 Subject: [PATCH] disable MG_ADAPT for Windows --- CMakeLists.txt | 5 +++++ src/SMESH/MG_ADAPT.cxx | 7 +++++-- src/SMESHGUI/SMESHGUI.cxx | 12 ++++++++++++ src/SMESH_I/MG_ADAPT_i.cxx | 11 ++++++++++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 242782dc4..2935fe10c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,6 +240,11 @@ IF(WIN32) ENDIF(${F2C_FOUND}) ENDIF(WIN32) +#On Linux enable MG_ADAPT +IF(NOT WIN32) + ADD_DEFINITIONS(-DMGADAPT_ENABLE) +ENDIF(NOT WIN32) + IF(SALOME_SMESH_ENABLE_MEFISTO) SET(MEFISTO2D_NAME "MEFISTO_2D") ELSE(SALOME_SMESH_ENABLE_MEFISTO) diff --git a/src/SMESH/MG_ADAPT.cxx b/src/SMESH/MG_ADAPT.cxx index a691836d4..471203ad3 100644 --- a/src/SMESH/MG_ADAPT.cxx +++ b/src/SMESH/MG_ADAPT.cxx @@ -32,12 +32,14 @@ #include #include +#include #ifndef WIN32 #include // getpid() #else #include #endif +#include #include #include // unique_ptr @@ -866,8 +868,9 @@ void MgAdapt::execCmd( const char* cmd, int& err) #if defined(WIN32) -#if defined(INICODE) - std::unique_ptr pipe(_wopen(cmd, "r"), _pclose ); +#if defined(UNICODE) + const wchar_t * aCmd = Kernel_Utils::utf8_decode(cmd); + std::unique_ptr pipe(_wpopen(aCmd, O_RDONLY), _pclose ); #else std::unique_ptr pipe(_popen(cmd, "r"), _pclose ); #endif diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index beb071a39..0b16abc3e 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -3044,6 +3044,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) break; } // Adaptation - begin +#if defined(MGADAPT_ENABLE) case SMESHOp::OpMGAdapt: { if ( isStudyLocked() ) @@ -3055,6 +3056,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) ( new SMESHGUI_MG_ADAPTDRIVER( this, model, isCreation ))->show(); break; } +#endif // Adaptation - end case SMESHOp::OpSplitBiQuadratic: case SMESHOp::OpConvertMeshToQuadratic: @@ -4294,7 +4296,9 @@ void SMESHGUI::initialize( CAM_Application* app ) createSMESHAction( SMESHOp::OpDisableAutoColor, "DISABLE_AUTO_COLOR" ); // Adaptation - begin +#if defined(MGADAPT_ENABLE) createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" ); +#endif // Adaptation - end createSMESHAction( SMESHOp::OpMinimumDistance, "MEASURE_MIN_DIST", "ICON_MEASURE_MIN_DIST" ); @@ -4512,7 +4516,9 @@ void SMESHGUI::initialize( CAM_Application* app ) createMenu( SMESHOp::OpPatternMapping, modifyId, -1 ); // Adaptation - begin +#if defined(MGADAPT_ENABLE) createMenu( SMESHOp::OpMGAdapt, adaptId, -1 ); +#endif // Adaptation - end createMenu( SMESHOp::OpMinimumDistance, measureId, -1 ); @@ -4659,8 +4665,10 @@ void SMESHGUI::initialize( CAM_Application* app ) createTool( SMESHOp::OpPatternMapping, modifyTb ); // Adaptation - begin +#if defined(MGADAPT_ENABLE) int adaptTb = createTool( tr( "TB_ADAPTATION" ),QString( "SMESHAdaptationToolbar" ) ) ; createTool( SMESHOp::OpMGAdapt, adaptTb ); +#endif // Adaptation - end int measuremTb = createTool( tr( "TB_MEASUREM" ), QString( "SMESHMeasurementsToolbar" ) ) ; @@ -4745,7 +4753,9 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); // Adaptation - begin +#if defined(MGADAPT_ENABLE) createPopupItem( SMESHOp::OpMGAdapt, OB, mesh ); +#endif // Adaptation - end QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc ); @@ -6017,8 +6027,10 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const op = new SMESHGUI_Add0DElemsOnAllNodesOp(); break; // Adaptation - begin +#if defined(MGADAPT_ENABLE) case SMESHOp::OpMGAdapt: break; +#endif // Adaptation - end default: break; diff --git a/src/SMESH_I/MG_ADAPT_i.cxx b/src/SMESH_I/MG_ADAPT_i.cxx index f2bd58ede..8c20914f7 100644 --- a/src/SMESH_I/MG_ADAPT_i.cxx +++ b/src/SMESH_I/MG_ADAPT_i.cxx @@ -96,25 +96,34 @@ void MG_ADAPT_i::copyHypothesisDataFromImpl(const ::MG_ADAPT::MgAdaptHypothesisD SMESH::MG_ADAPT_ptr SMESH_Gen_i::CreateMG_ADAPT() { +#if defined(MGADAPT_ENABLE) SMESH::MG_ADAPT_i* aMGadapt = new SMESH::MG_ADAPT_i(); SMESH::MG_ADAPT_var anObj = aMGadapt->_this(); return anObj._retn(); +#else + return SMESH::MG_ADAPT_ptr(); +#endif } SMESH::MG_ADAPT_ptr SMESH_Gen_i::CreateAdaptationHypothesis() { +#if defined(MGADAPT_ENABLE) SMESH::MG_ADAPT_i* aMGadapt = new SMESH::MG_ADAPT_i(); SMESH::MG_ADAPT_var anObj = aMGadapt->_this(); return anObj._retn(); +#else + return SMESH::MG_ADAPT_ptr(); +#endif } SMESH::MG_ADAPT_OBJECT_ptr SMESH_Gen_i::Adaptation( const char* adaptationType) { - +#if defined(MGADAPT_ENABLE) if (!strcmp(adaptationType, "MG_Adapt")) { SMESH::MG_ADAPT_OBJECT_i* mg_adapt_object = new SMESH::MG_ADAPT_OBJECT_i(); SMESH::MG_ADAPT_OBJECT_var anObj = mg_adapt_object->_this(); return anObj._retn(); } +#endif return SMESH::MG_ADAPT_OBJECT_ptr(); } //============================================================================= -- 2.39.2