From: Christophe Bourcier Date: Tue, 7 Mar 2023 14:14:33 +0000 (+0100) Subject: Upgrade to new MG license mechanism and keep compatibility with old ones X-Git-Tag: V9_11_0a1~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a09dab2a68068b75ef04428d1deedc7bd0823949;p=plugins%2Fhybridplugin.git Upgrade to new MG license mechanism and keep compatibility with old ones --- diff --git a/src/HYBRIDPlugin/MG_HYBRID_API.cxx b/src/HYBRIDPlugin/MG_HYBRID_API.cxx index 7481104..d2b9ed8 100644 --- a/src/HYBRIDPlugin/MG_HYBRID_API.cxx +++ b/src/HYBRIDPlugin/MG_HYBRID_API.cxx @@ -36,6 +36,9 @@ extern "C"{ #include } +#define MESHGEMS_VERSION_HEX (MESHGEMS_VERSION_MAJOR << 16 | MESHGEMS_VERSION_MINOR << 8 | MESHGEMS_VERSION_PATCH) +#define MESHGEMS_215 (2 << 16 | 15 << 8 | 0) + struct MG_HYBRID_API::LibData { // MG objects @@ -698,14 +701,28 @@ bool MG_HYBRID_API::LibData::Compute() { // MG license std::string errorTxt; + status_t ret; +#if MESHGEMS_VERSION_HEX > MESHGEMS_215 + // unlock Hybrid license + std::string SPATIAL_LICENSE = SMESHUtils_MGLicenseKeyGen::GetKey(errorTxt); + ret = meshgems_hybrid_unlock_product(SPATIAL_LICENSE.c_str()); + if STATUS_IS_ERROR( ret ) + { + AddError( SMESH_Comment( "Problem with SPATIAL_LICENSE to unlock Hybrid: ") << errorTxt ); + return false; + } + else + MESSAGE("SPATIAL_LICENSE unlock Hybrid: " << ret); +#else if ( !SMESHUtils_MGLicenseKeyGen::SignMesh( _surf_mesh, errorTxt )) { AddError( SMESH_Comment( "Problem with library SalomeMeshGemsKeyGenerator: ") << errorTxt ); return false; } +#endif // Set surface mesh - status_t ret = hybrid_set_surface_mesh( _session, _surf_mesh ); + ret = hybrid_set_surface_mesh( _session, _surf_mesh ); if ( ret != STATUS_OK ) MG_Error( "unable to set surface mesh"); #ifndef WIN32