Salome HOME
Upgrade to new MG license mechanism and keep compatibility with old ones cbr/new_mg_license_215
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Tue, 7 Mar 2023 14:19:25 +0000 (15:19 +0100)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Tue, 7 Mar 2023 14:19:25 +0000 (15:19 +0100)
src/GHS3DPRLPlugin/MG_TetraHPC_API.cxx

index 01563a48ca2e260c0bcddac10c42d4d8e86ee9a1..cb348a508a5e565a6b79720c7e2634874c85c85a 100644 (file)
@@ -588,14 +588,28 @@ bool MG_TetraHPC_API::LibData::Compute( const std::string& outFile )
 {
   // MG license
   std::string errorTxt;
+  status_t ret;
+#if MESHGEMS_VERSION_HEX > MESHGEMS_215
+  // need to unlock Tetra license only once
+  std::string SPATIAL_LICENSE = SMESHUtils_MGLicenseKeyGen::GetKey(errorTxt);
+  ret = meshgems_tetra_hpc_unlock_product(SPATIAL_LICENSE.c_str());
+  if STATUS_IS_ERROR( ret )
+    {
+    AddError( SMESH_Comment( "Problem with SPATIAL_LICENSE to unlock Tetra_HPC: ") << errorTxt );
+    return false;
+    }
+  else
+    MESSAGE("SPATIAL_LICENSE unlock Tetra_HPC: " << ret);
+#else
   if ( !SMESHUtils_MGLicenseKeyGen::SignMesh( _tria_mesh, errorTxt ))
   {
     AddError( SMESH_Comment( "Problem with library SalomeMeshGemsKeyGenerator: ") << errorTxt );
     return false;
   }
+#endif
 
   // Set surface mesh
-  status_t ret = tetra_hpc_set_input_mesh( _session, _tria_mesh );
+  ret = tetra_hpc_set_input_mesh( _session, _tria_mesh );
   if ( ret != STATUS_OK ) MG_Error( "unable to set surface mesh");
 
   // // Set a sizemap