ENDIF(${F2C_FOUND})
ENDIF(WIN32)
+
+SET (SALOME_SMESH_DISABLE_MG_ADAPT OFF)
+IF(WIN32)
+ SET (SALOME_SMESH_DISABLE_MG_ADAPT ON)
+ENDIF()
+
+#On Windows disable MG_ADAPT
+IF(SALOME_SMESH_DISABLE_MG_ADAPT)
+ ADD_DEFINITIONS(-DDISABLE_MG_ADAPT)
+ENDIF()
+
IF(SALOME_SMESH_ENABLE_MEFISTO)
SET(MEFISTO2D_NAME "MEFISTO_2D")
ELSE(SALOME_SMESH_ENABLE_MEFISTO)
SET(SALOME_SMESH_USE_CGNS @SALOME_SMESH_USE_CGNS@)
SET(SALOME_SMESH_USE_TBB @SALOME_SMESH_USE_TBB@)
SET(SALOME_SMESH_ENABLE_MEFISTO @SALOME_SMESH_ENABLE_MEFISTO@)
+SET(SALOME_SMESH_DISABLE_MG_ADAPT @SALOME_SMESH_DISABLE_MG_ADAPT@)
IF(NOT WIN32)
LIST(APPEND SMESH_DEFINITIONS "-DENABLE_MEFISTO")
ENDIF(NOT WIN32)
ADD_LIBRARY(SMESHimpl ${SMESHimpl_SOURCES})
IF(WIN32)
- TARGET_COMPILE_OPTIONS(SMESHimpl PRIVATE /bigobj)
+ TARGET_COMPILE_OPTIONS(SMESHimpl PRIVATE /bigobj)
+ ADD_DEFINITIONS(-DNOMINMAX)
ENDIF(WIN32)
TARGET_LINK_LIBRARIES(SMESHimpl ${_link_LIBRARIES} )
#include <MeshFormatWriter.hxx>
#include <Utils_SALOME_Exception.hxx>
+#include <Basics_Utils.hxx>
+#ifndef WIN32
#include <unistd.h> // getpid()
+#else
+#include <process.h>
+#endif
+#include <fcntl.h>
+#include <array>
#include <memory> // unique_ptr
typedef SMESH_Comment ToComment;
}
std::ostream logStream(buf);
+
+#if defined(WIN32)
+#if defined(UNICODE)
+ const wchar_t * aCmd = Kernel_Utils::utf8_decode(cmd);
+ std::unique_ptr <FILE, decltype(&_pclose)> pipe(_wpopen(aCmd, O_RDONLY), _pclose );
+#else
+ std::unique_ptr <FILE, decltype(&_pclose)> pipe(_popen(cmd, "r"), _pclose );
+#endif
+#else
std::unique_ptr <FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose );
+#endif
+
if(!pipe)
{
throw std::runtime_error("popen() failed!");
SMESH_Comment aGenericName( aTmpDir );
aGenericName << "MgAdapt_";
+#ifndef WIN32
aGenericName << getpid();
+#else
+aGenericName << _getpid();
+#endif
aGenericName << "_";
aGenericName << std::abs((int)(long) aGenericName.data());
#include <vector>
#include <set>
+#include "SMESH_SMESH.hxx"
+
namespace MEDCoupling
{
class MEDFileMesh;
};
-class MgAdapt
+class SMESH_EXPORT MgAdapt
{
public:
break;
}
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
case SMESHOp::OpMGAdapt:
{
if ( isStudyLocked() )
( new SMESHGUI_MG_ADAPTDRIVER( this, model, isCreation ))->show();
break;
}
+#endif
// Adaptation - end
case SMESHOp::OpSplitBiQuadratic:
case SMESHOp::OpConvertMeshToQuadratic:
createSMESHAction( SMESHOp::OpDisableAutoColor, "DISABLE_AUTO_COLOR" );
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" );
+#endif
// Adaptation - end
createSMESHAction( SMESHOp::OpMinimumDistance, "MEASURE_MIN_DIST", "ICON_MEASURE_MIN_DIST" );
meshId = createMenu( tr( "MEN_MESH" ), -1, 70, 10 ),
ctrlId = createMenu( tr( "MEN_CTRL" ), -1, 60, 10 ),
modifyId = createMenu( tr( "MEN_MODIFY" ), -1, 40, 10 ),
+#ifndef DISABLE_MG_ADAPT
adaptId = createMenu( tr( "MEN_ADAPT" ), -1, 80, 10 ),
+#endif
measureId = createMenu( tr( "MEN_MEASURE" ), -1, 50, 10 ),
viewId = createMenu( tr( "MEN_VIEW" ), -1, 2 );
createMenu( SMESHOp::OpPatternMapping, modifyId, -1 );
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
createMenu( SMESHOp::OpMGAdapt, adaptId, -1 );
+#endif
// Adaptation - end
createMenu( SMESHOp::OpMinimumDistance, measureId, -1 );
createTool( SMESHOp::OpPatternMapping, modifyTb );
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
int adaptTb = createTool( tr( "TB_ADAPTATION" ),QString( "SMESHAdaptationToolbar" ) ) ;
createTool( SMESHOp::OpMGAdapt, adaptTb );
+#endif
// Adaptation - end
int measuremTb = createTool( tr( "TB_MEASUREM" ), QString( "SMESHMeasurementsToolbar" ) ) ;
popupMgr()->insert( separator(), -1, 0 );
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
createPopupItem( SMESHOp::OpMGAdapt, OB, mesh );
+#endif
// Adaptation - end
QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc );
op = new SMESHGUI_Add0DElemsOnAllNodesOp();
break;
// Adaptation - begin
+#ifndef DISABLE_MG_ADAPT
case SMESHOp::OpMGAdapt:
break;
+#endif
// Adaptation - end
default:
break;
SMESH::MG_ADAPT_ptr SMESH_Gen_i::CreateMG_ADAPT()
{
+#ifndef DISABLE_MG_ADAPT
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()
{
+#ifndef DISABLE_MG_ADAPT
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)
{
-
+#ifndef DISABLE_MG_ADAPT
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();
}
//=============================================================================