Merge V8_4_BR branch.

This commit is contained in:
rnv 2017-12-13 12:17:51 +03:00
commit 90e0893c89
43 changed files with 534 additions and 413 deletions

View File

@ -31,7 +31,7 @@ ENDIF(WIN32)
STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8) SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8)
SET(${PROJECT_NAME_UC}_MINOR_VERSION 3) SET(${PROJECT_NAME_UC}_MINOR_VERSION 4)
SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
SET(${PROJECT_NAME_UC}_VERSION SET(${PROJECT_NAME_UC}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
@ -77,6 +77,11 @@ OPTION(SALOME_BUILD_DOC "Generate SALOME SMESH documentation" ON)
OPTION(SALOME_BUILD_GUI "Enable GUI" ON) OPTION(SALOME_BUILD_GUI "Enable GUI" ON)
OPTION(SALOME_SMESH_USE_CGNS "Enable import/export to CGNS format" OFF) OPTION(SALOME_SMESH_USE_CGNS "Enable import/export to CGNS format" OFF)
OPTION(SALOME_SMESH_USE_TBB "Enable parallel computation" OFF) OPTION(SALOME_SMESH_USE_TBB "Enable parallel computation" OFF)
OPTION(SALOME_SMESH_DYNLOAD_LOCAL "Load plug-ins' symbols locally (Linux only)" ON)
IF(SALOME_SMESH_DYNLOAD_LOCAL)
ADD_DEFINITIONS(-DDYNLOAD_LOCAL)
ENDIF(SALOME_SMESH_DYNLOAD_LOCAL)
#On Linux use Fortran to compile MEFISTO2D #On Linux use Fortran to compile MEFISTO2D
IF(NOT WIN32) IF(NOT WIN32)
@ -85,7 +90,7 @@ IF(NOT WIN32)
ADD_DEFINITIONS(-DENABLE_MEFISTO) ADD_DEFINITIONS(-DENABLE_MEFISTO)
ENDIF(NOT WIN32) ENDIF(NOT WIN32)
MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_SMESH_USE_CGNS SALOME_SMESH_USE_TBB) MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOME_SMESH_USE_CGNS SALOME_SMESH_USE_TBB SALOME_SMESH_DYNLOAD_LOCAL)
# Prerequisites # Prerequisites
# ============= # =============

View File

@ -41,6 +41,7 @@ WARNINGS = YES
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/input $(GEOM_ROOT_DIR)/share/doc/salome/gui/GEOM/input INPUT = @CMAKE_CURRENT_SOURCE_DIR@/input $(GEOM_ROOT_DIR)/share/doc/salome/gui/GEOM/input
FILE_PATTERNS = *.doc FILE_PATTERNS = *.doc
EXCLUDE = EXCLUDE =
EXCLUDE_PATTERNS = tui_*.doc
IMAGE_PATH = $(GEOM_ROOT_DIR)/share/doc/salome/gui/GEOM @CMAKE_CURRENT_SOURCE_DIR@/images IMAGE_PATH = $(GEOM_ROOT_DIR)/share/doc/salome/gui/GEOM @CMAKE_CURRENT_SOURCE_DIR@/images
EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/doc/salome/examples @CMAKE_SOURCE_DIR@/src/SMESH_SWIG EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/doc/salome/examples @CMAKE_SOURCE_DIR@/src/SMESH_SWIG

View File

@ -238,11 +238,28 @@ module SMESH
/*! /*!
* Enumeration for ExportToMED*() * Enumeration for ExportToMED*()
* MED_V2_1 and MED_V2_2 are here for compatibility and mean respectively obsolete and MED_LATEST.
* MED_MINOR_0 to MED_MINOR_9 are use to specify the minor version used by MEDfichier
* to write MED files (major version cannot be changed).
* This allows backward compatibility from a newer version of SALOME to an older one:
* for instance, a MESH produced in SALOME 8.4 (med 3.3) can be written in med 3.2 format
* to be read in SALOME 8.3.
*/ */
enum MED_VERSION enum MED_VERSION
{ {
MED_V2_1, MED_V2_1,
MED_V2_2 MED_V2_2,
MED_LATEST,
MED_MINOR_0,
MED_MINOR_1,
MED_MINOR_2,
MED_MINOR_3,
MED_MINOR_4,
MED_MINOR_5,
MED_MINOR_6,
MED_MINOR_7,
MED_MINOR_8,
MED_MINOR_9
}; };
/*! /*!
@ -686,8 +703,8 @@ module SMESH
raises (SALOME::SALOME_Exception); raises (SALOME::SALOME_Exception);
/*! /*!
* Export Mesh to MED_V2_1 MED format * Export Mesh to MED_LATEST MED format
* Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1 * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_LATEST
* and overwrite parameter equal to true * and overwrite parameter equal to true
* The method is kept in order to support old functionality * The method is kept in order to support old functionality
*/ */

View File

@ -70,6 +70,7 @@ void DriverMED_W_SMESHDS_Mesh::SetFile(const std::string& theFileName,
{ {
Driver_SMESHDS_Mesh::SetFile(theFileName); Driver_SMESHDS_Mesh::SetFile(theFileName);
myMedVersion = theId; myMedVersion = theId;
//MESSAGE("myMedVersion:"<<myMedVersion);
} }
void DriverMED_W_SMESHDS_Mesh::SetFile(const std::string& theFileName) void DriverMED_W_SMESHDS_Mesh::SetFile(const std::string& theFileName)
@ -77,19 +78,39 @@ void DriverMED_W_SMESHDS_Mesh::SetFile(const std::string& theFileName)
Driver_SMESHDS_Mesh::SetFile(theFileName); Driver_SMESHDS_Mesh::SetFile(theFileName);
} }
/*!
* MED version is either the latest available, or with an inferior minor,
* to ensure backward compatibility on writing med files.
*/
string DriverMED_W_SMESHDS_Mesh::GetVersionString(const MED::EVersion theVersion, int theNbDigits) string DriverMED_W_SMESHDS_Mesh::GetVersionString(const MED::EVersion theVersion, int theNbDigits)
{ {
TInt majeur, mineur, release; TInt majeur, mineur, release;
majeur = mineur = release = 0; majeur = mineur = release = 0;
// if ( theVersion == eV2_1 )
// MED::GetVersionRelease<eV2_1>(majeur, mineur, release);
// else
MED::GetVersionRelease<eV2_2>(majeur, mineur, release); MED::GetVersionRelease<eV2_2>(majeur, mineur, release);
TInt imposedMineur = mineur;
switch( theVersion ) {
case MED::eV2_1 :
case MED::eV2_2 :
case MED::eLATEST : break;
case MED::eMINOR_0 : imposedMineur = 0; break;
case MED::eMINOR_1 : imposedMineur = 1; break;
case MED::eMINOR_2 : imposedMineur = 2; break;
case MED::eMINOR_3 : imposedMineur = 3; break;
case MED::eMINOR_4 : imposedMineur = 4; break;
case MED::eMINOR_5 : imposedMineur = 5; break;
case MED::eMINOR_6 : imposedMineur = 6; break;
case MED::eMINOR_7 : imposedMineur = 7; break;
case MED::eMINOR_8 : imposedMineur = 8; break;
case MED::eMINOR_9 : imposedMineur = 9; break;
case MED::eVUnknown : imposedMineur = mineur; break;
}
if (imposedMineur > mineur)
imposedMineur = mineur;
ostringstream name; ostringstream name;
if ( theNbDigits > 0 ) if ( theNbDigits > 0 )
name << majeur; name << majeur;
if ( theNbDigits > 1 ) if ( theNbDigits > 1 )
name << "." << mineur; name << "." << imposedMineur;
if ( theNbDigits > 2 ) if ( theNbDigits > 2 )
name << "." << release; name << "." << release;
return name.str(); return name.str();
@ -456,7 +477,7 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
break; break;
} }
} }
//MESSAGE("myMedVersion:"<<myMedVersion);
MED::PWrapper myMed = CrWrapper(myFile,myMedVersion); MED::PWrapper myMed = CrWrapper(myFile,myMedVersion);
PMeshInfo aMeshInfo = myMed->CrMeshInfo(aMeshDimension,aSpaceDimension,aMeshName); PMeshInfo aMeshInfo = myMed->CrMeshInfo(aMeshDimension,aSpaceDimension,aMeshName);
//MESSAGE("Add - aMeshName : "<<aMeshName<<"; "<<aMeshInfo->GetName()); //MESSAGE("Add - aMeshName : "<<aMeshName<<"; "<<aMeshInfo->GetName());

View File

@ -44,8 +44,10 @@
#endif #endif
namespace MED{ namespace MED{
// enum EVersion sould be synchronized with enum MED_VERSION in SMESH_Mesh.idl (.hh)
enum EVersion {eVUnknown = -1, eV2_1, eV2_2}; // i.e. same positive values!
enum EVersion {eVUnknown = -1, eV2_1, eV2_2, eLATEST,
eMINOR_0, eMINOR_1, eMINOR_2, eMINOR_3, eMINOR_4, eMINOR_5, eMINOR_6, eMINOR_7, eMINOR_8, eMINOR_9};
typedef enum {eFAUX, eVRAI} EBooleen ; typedef enum {eFAUX, eVRAI} EBooleen ;
typedef double TFloat; typedef double TFloat;

View File

@ -23,7 +23,6 @@
#include "MED_Factory.hxx" #include "MED_Factory.hxx"
#include "MED_Utilities.hxx" #include "MED_Utilities.hxx"
#include "MED_V2_2_Wrapper.hxx" #include "MED_V2_2_Wrapper.hxx"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>
#include <sstream> #include <sstream>
@ -90,6 +89,7 @@ namespace MED
if(aMajor == 2 && aMinor == 1) if(aMajor == 2 && aMinor == 1)
aVersion = eV2_1; aVersion = eV2_1;
else else
// TODO: check major is not superior to library and switch on minor
aVersion = eV2_2; aVersion = eV2_2;
} }
else { else {
@ -124,20 +124,19 @@ namespace MED
} }
PWrapper CrWrapper(const std::string& theFileName, PWrapper CrWrapper(const std::string& theFileName,
bool theDoPreCheckInSeparateProcess) bool theDoPreCheckInSeparateProcess,
int theMinor)
{ {
PWrapper aWrapper; PWrapper aWrapper;
if (theMinor <0)
theMinor = MED_MINOR_NUM;
EVersion aVersion = GetVersionId(theFileName,theDoPreCheckInSeparateProcess); EVersion aVersion = GetVersionId(theFileName,theDoPreCheckInSeparateProcess);
switch(aVersion){ switch(aVersion){
case eV2_2:
aWrapper.reset(new MED::V2_2::TVWrapper(theFileName));
break;
case eV2_1: case eV2_1:
EXCEPTION(std::runtime_error,"Cannot open file '"<<theFileName<<"'. Med version 2.1 is not supported any more."); EXCEPTION(std::runtime_error,"Cannot open file '"<<theFileName<<"'. Med version 2.1 is not supported any more.");
//aWrapper.reset(new MED::V2_1::TVWrapper(theFileName));
break; break;
default: default:
EXCEPTION(std::runtime_error,"MED::CrWrapper - theFileName = '"<<theFileName<<"'"); aWrapper.reset(new MED::V2_2::TVWrapper(theFileName, theMinor));
} }
return aWrapper; return aWrapper;
} }
@ -145,22 +144,29 @@ namespace MED
PWrapper CrWrapper(const std::string& theFileName, EVersion theId) PWrapper CrWrapper(const std::string& theFileName, EVersion theId)
{ {
EVersion aVersion = GetVersionId(theFileName); EVersion aVersion = GetVersionId(theFileName);
if (aVersion == eVUnknown) // no existing file
aVersion = theId;
if(aVersion != theId) if(aVersion != theId)
remove(theFileName.c_str()); //remove(theFileName.c_str());
EXCEPTION(std::runtime_error,"Cannot open file for writing '"<<theFileName<<"'. existing file with another Med version.");
aVersion = theId;
int theMinor = -1; // not supported
switch (aVersion)
{
case eV2_1: break; // not supported
case eVUnknown:
case eV2_2:
case eLATEST: theMinor = MED_MINOR_NUM; break;
default: theMinor = aVersion - eMINOR_0;
}
if (theMinor < 0)
EXCEPTION(std::runtime_error,"Cannot open file '"<<theFileName<<"'. Med version 2.1 is not supported any more.");
PWrapper aWrapper; PWrapper aWrapper;
switch(theId){ aWrapper.reset(new MED::V2_2::TVWrapper(theFileName, theMinor));
case eV2_2:
aWrapper.reset(new MED::V2_2::TVWrapper(theFileName));
break;
case eV2_1:
EXCEPTION(std::runtime_error,"Cannot open file '"<<theFileName<<"'. Med version 2.1 is not supported any more.");
//aWrapper.reset(new MED::V2_1::TVWrapper(theFileName));
break;
default:
aWrapper.reset(new MED::V2_2::TVWrapper(theFileName));
}
return aWrapper; return aWrapper;
} }

View File

@ -39,7 +39,8 @@ namespace MED
MEDWRAPPER_FACTORY_EXPORT MEDWRAPPER_FACTORY_EXPORT
PWrapper PWrapper
CrWrapper(const std::string& theFileName, CrWrapper(const std::string& theFileName,
bool theDoPreCheckInSeparateProcess = false); bool theDoPreCheckInSeparateProcess = false,
int theMinor=-1);
MEDWRAPPER_FACTORY_EXPORT MEDWRAPPER_FACTORY_EXPORT
PWrapper PWrapper

View File

@ -26,6 +26,7 @@
#include <med.h> #include <med.h>
#include <med_err.h> #include <med_err.h>
#include <med_proto.h>
#ifdef _DEBUG_ #ifdef _DEBUG_
static int MYDEBUG = 0; static int MYDEBUG = 0;
@ -99,11 +100,14 @@ namespace MED
TFile(const TFile&); TFile(const TFile&);
public: public:
TFile(const std::string& theFileName): TFile(const std::string& theFileName, TInt theMinor=-1):
myCount(0), myCount(0),
myFid(0), myFid(0),
myFileName(theFileName) myFileName(theFileName),
{} myMinor(theMinor)
{
if ((myMinor < 0) || (myMinor > MED_MINOR_NUM)) myMinor = MED_MINOR_NUM;
}
~TFile() ~TFile()
{ {
@ -115,12 +119,12 @@ namespace MED
{ {
if(myCount++ == 0){ if(myCount++ == 0){
const char* aFileName = myFileName.c_str(); const char* aFileName = myFileName.c_str();
myFid = MEDfileOpen(aFileName,med_access_mode(theMode)); myFid = MEDfileVersionOpen(aFileName,med_access_mode(theMode), MED_MAJOR_NUM, myMinor, MED_RELEASE_NUM);
} }
if(theErr) if(theErr)
*theErr = TErr(myFid); *theErr = TErr(myFid);
else if(myFid < 0) else if(myFid < 0)
EXCEPTION(std::runtime_error,"TFile - MEDfileOpen('"<<myFileName<<"',"<<theMode<<")"); EXCEPTION(std::runtime_error,"TFile - MEDfileVersionOpen('"<<myFileName<<"',"<<theMode<<"',"<< MED_MAJOR_NUM<<"',"<< myMinor<<"',"<< MED_RELEASE_NUM<<")");
} }
const TIdt& Id() const const TIdt& Id() const
@ -140,6 +144,7 @@ namespace MED
TInt myCount; TInt myCount;
TIdt myFid; TIdt myFid;
std::string myFileName; std::string myFileName;
TInt myMinor;
}; };
@ -147,11 +152,14 @@ namespace MED
class TFileWrapper class TFileWrapper
{ {
PFile myFile; PFile myFile;
TInt myMinor;
public: public:
TFileWrapper(const PFile& theFile, EModeAcces theMode, TErr* theErr = NULL): TFileWrapper(const PFile& theFile, EModeAcces theMode, TErr* theErr = NULL, TInt theMinor=-1):
myFile(theFile) myFile(theFile),
myMinor(theMinor)
{ {
if (myMinor < 0) myMinor = MED_MINOR_NUM;
myFile->Open(theMode,theErr); myFile->Open(theMode,theErr);
} }
@ -163,15 +171,12 @@ namespace MED
//--------------------------------------------------------------- //---------------------------------------------------------------
TVWrapper::TVWrapper(const std::string& theFileName): TVWrapper::TVWrapper(const std::string& theFileName, TInt theMinor):
myFile(new TFile(theFileName)) myMinor(theMinor),
myFile(new TFile(theFileName, theMinor))
{ {
TErr aRet; TErr aRet;
myFile->Open( eLECTURE_ECRITURE, &aRet ); myFile->Open( eLECTURE_ECRITURE, &aRet );
// if(aRet < 0)
// myFile->Close();
// myFile->Open( eLECTURE_AJOUT, &aRet );
// }
if(aRet < 0) { if(aRet < 0) {
myFile->Close(); myFile->Close();
myFile->Open( eLECTURE, &aRet ); myFile->Open( eLECTURE, &aRet );
@ -188,7 +193,7 @@ namespace MED
TVWrapper TVWrapper
::GetNbMeshes(TErr* theErr) ::GetNbMeshes(TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -204,7 +209,7 @@ namespace MED
MED::TMeshInfo& theInfo, MED::TMeshInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -247,7 +252,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -316,7 +321,7 @@ namespace MED
::GetNbFamilies(const MED::TMeshInfo& theInfo, ::GetNbFamilies(const MED::TMeshInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -334,7 +339,7 @@ namespace MED
const MED::TMeshInfo& theInfo, const MED::TMeshInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -354,7 +359,7 @@ namespace MED
const MED::TMeshInfo& theInfo, const MED::TMeshInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -374,7 +379,7 @@ namespace MED
MED::TFamilyInfo& theInfo, MED::TFamilyInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -417,7 +422,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -476,7 +481,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -514,7 +519,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -552,7 +557,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -613,7 +618,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -669,7 +674,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -723,7 +728,7 @@ namespace MED
EGeometrieElement theGeom, EGeometrieElement theGeom,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -761,7 +766,7 @@ namespace MED
ETable theTable, ETable theTable,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -790,7 +795,7 @@ namespace MED
::GetNodeInfo(MED::TNodeInfo& theInfo, ::GetNodeInfo(MED::TNodeInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -867,7 +872,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -953,7 +958,7 @@ namespace MED
::GetPolygoneInfo(MED::TPolygoneInfo& theInfo, ::GetPolygoneInfo(MED::TPolygoneInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1012,7 +1017,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1071,7 +1076,7 @@ namespace MED
EConnectivite theConnMode, EConnectivite theConnMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return 0; return 0;
@ -1105,7 +1110,7 @@ namespace MED
::GetPolyedreInfo(TPolyedreInfo& theInfo, ::GetPolyedreInfo(TPolyedreInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1168,7 +1173,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1272,7 +1277,7 @@ namespace MED
EConnectivite theConnMode, EConnectivite theConnMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
EXCEPTION(std::runtime_error,"GetPolyedreConnSize - (...)"); EXCEPTION(std::runtime_error,"GetPolyedreConnSize - (...)");
@ -1321,7 +1326,7 @@ namespace MED
{ {
TEntityInfo anInfo; TEntityInfo anInfo;
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return anInfo; return anInfo;
@ -1431,7 +1436,7 @@ namespace MED
EConnectivite theConnMode, EConnectivite theConnMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -1478,7 +1483,7 @@ namespace MED
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
void TVWrapper::GetCellInfo(MED::TCellInfo& theInfo, TErr* theErr) void TVWrapper::GetCellInfo(MED::TCellInfo& theInfo, TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1537,7 +1542,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1618,7 +1623,8 @@ namespace MED
//! Read geom type of MED_BALL structural element //! Read geom type of MED_BALL structural element
EGeometrieElement TVWrapper::GetBallGeom(const TMeshInfo& theMeshInfo) EGeometrieElement TVWrapper::GetBallGeom(const TMeshInfo& theMeshInfo)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE); TErr anError;
TFileWrapper aFileWrapper(myFile, eLECTURE, &anError, myMinor);
// read med_geometry_type of "MED_BALL" element // read med_geometry_type of "MED_BALL" element
char geotypename[ MED_NAME_SIZE + 1] = MED_BALL_NAME; char geotypename[ MED_NAME_SIZE + 1] = MED_BALL_NAME;
@ -1629,7 +1635,8 @@ namespace MED
//! Read number of balls in the Mesh //! Read number of balls in the Mesh
TInt TVWrapper::GetNbBalls(const TMeshInfo& theMeshInfo) TInt TVWrapper::GetNbBalls(const TMeshInfo& theMeshInfo)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE); TErr anError;
TFileWrapper aFileWrapper(myFile, eLECTURE, &anError, myMinor);
EGeometrieElement ballType = GetBallGeom( theMeshInfo ); EGeometrieElement ballType = GetBallGeom( theMeshInfo );
if ( ballType < 0 ) if ( ballType < 0 )
@ -1642,7 +1649,7 @@ namespace MED
//! Read a MEDWrapped representation of MED_BALL from the MED file //! Read a MEDWrapped representation of MED_BALL from the MED file
void TVWrapper::GetBallInfo(TBallInfo& theInfo, TErr* theErr) void TVWrapper::GetBallInfo(TBallInfo& theInfo, TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
// check geometry of MED_BALL // check geometry of MED_BALL
if ( theInfo.myGeom == eBALL ) if ( theInfo.myGeom == eBALL )
@ -1681,7 +1688,7 @@ namespace MED
//! Write a MEDWrapped representation of MED_BALL to the MED file //! Write a MEDWrapped representation of MED_BALL to the MED file
void TVWrapper::SetBallInfo(const TBallInfo& theInfo, EModeAcces theMode, TErr* theErr) void TVWrapper::SetBallInfo(const TBallInfo& theInfo, EModeAcces theMode, TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
TErr ret; TErr ret;
char ballsupportname[MED_NAME_SIZE+1]="BALL_SUPPORT_MESH"; char ballsupportname[MED_NAME_SIZE+1]="BALL_SUPPORT_MESH";
@ -1769,7 +1776,7 @@ namespace MED
TVWrapper TVWrapper
::GetNbFields(TErr* theErr) ::GetNbFields(TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -1784,7 +1791,7 @@ namespace MED
::GetNbComp(TInt theFieldId, ::GetNbComp(TInt theFieldId,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -1800,7 +1807,7 @@ namespace MED
MED::TFieldInfo& theInfo, MED::TFieldInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1850,7 +1857,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1902,7 +1909,7 @@ namespace MED
TVWrapper TVWrapper
::GetNbGauss(TErr* theErr) ::GetNbGauss(TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -1917,7 +1924,7 @@ namespace MED
::GetGaussPreInfo(TInt theId, ::GetGaussPreInfo(TInt theId,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return TGaussInfo::TInfo( TGaussInfo::TKey(ePOINT1,""),0 ); return TGaussInfo::TInfo( TGaussInfo::TKey(ePOINT1,""),0 );
@ -1958,7 +1965,7 @@ namespace MED
TGaussInfo& theInfo, TGaussInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -1989,7 +1996,7 @@ namespace MED
TVWrapper TVWrapper
::GetNbProfiles(TErr* theErr) ::GetNbProfiles(TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return -1; return -1;
@ -2002,7 +2009,7 @@ namespace MED
::GetProfilePreInfo(TInt theId, ::GetProfilePreInfo(TInt theId,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return TProfileInfo::TInfo(); return TProfileInfo::TInfo();
@ -2029,7 +2036,7 @@ namespace MED
TProfileInfo& theInfo, TProfileInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2054,7 +2061,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2102,7 +2109,7 @@ namespace MED
TErr* theErr) TErr* theErr)
{ {
theEntity = EEntiteMaillage(-1); theEntity = EEntiteMaillage(-1);
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr){ if(theErr){
if(theEntityInfo.empty()) if(theEntityInfo.empty())
@ -2225,7 +2232,7 @@ namespace MED
MED::TTimeStampInfo& theInfo, MED::TTimeStampInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
const TGeom2Size& aGeom2Size = theInfo.myGeom2Size; const TGeom2Size& aGeom2Size = theInfo.myGeom2Size;
@ -2320,7 +2327,7 @@ namespace MED
const TKey2Gauss& theKey2Gauss, const TKey2Gauss& theKey2Gauss,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2488,7 +2495,7 @@ namespace MED
EModeAcces theMode, EModeAcces theMode,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2598,7 +2605,7 @@ namespace MED
{ {
if(theInfo.myMeshInfo->myType != eSTRUCTURE) if(theInfo.myMeshInfo->myType != eSTRUCTURE)
return; return;
TFileWrapper aFileWrapper(myFile,theMode,theErr); TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2675,7 +2682,7 @@ namespace MED
::GetGrilleInfo(TGrilleInfo& theInfo, ::GetGrilleInfo(TGrilleInfo& theInfo,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;
@ -2831,7 +2838,7 @@ namespace MED
EGrilleType& theGridType, EGrilleType& theGridType,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
EXCEPTION(std::runtime_error," GetGrilleType - aFileWrapper (...)"); EXCEPTION(std::runtime_error," GetGrilleType - aFileWrapper (...)");
@ -2856,7 +2863,7 @@ namespace MED
TIntVector& theStruct, TIntVector& theStruct,
TErr* theErr) TErr* theErr)
{ {
TFileWrapper aFileWrapper(myFile,eLECTURE,theErr); TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0) if(theErr && *theErr < 0)
return; return;

View File

@ -91,7 +91,7 @@ namespace MED
TVWrapper& operator=(const TVWrapper&); TVWrapper& operator=(const TVWrapper&);
public: public:
TVWrapper(const std::string& theFileName); TVWrapper(const std::string& theFileName, TInt theMinor=-1);
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
virtual virtual
@ -482,6 +482,7 @@ namespace MED
protected: protected:
PFile myFile; PFile myFile;
TInt myMinor;
}; };
} }
} }

View File

@ -42,8 +42,6 @@
#include "SMESH_TypeDefs.hxx" #include "SMESH_TypeDefs.hxx"
#include "SMESH_subMesh.hxx" #include "SMESH_subMesh.hxx"
#include <Basics_OCCTVersion.hxx>
#include <BRepAdaptor_Curve.hxx> #include <BRepAdaptor_Curve.hxx>
#include <BRepLProp.hxx> #include <BRepLProp.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>

View File

@ -1402,6 +1402,7 @@ void SMESH_Mesh::ExportMED(const char * file,
bool theAllElemsToGroup) bool theAllElemsToGroup)
throw(SALOME_Exception) throw(SALOME_Exception)
{ {
//MESSAGE("MED_VERSION:"<< theVersion);
SMESH_TRY; SMESH_TRY;
DriverMED_W_SMESHDS_Mesh myWriter; DriverMED_W_SMESHDS_Mesh myWriter;

View File

@ -46,8 +46,6 @@
#include "SMESH_OctreeNode.hxx" #include "SMESH_OctreeNode.hxx"
#include "SMESH_subMesh.hxx" #include "SMESH_subMesh.hxx"
#include <Basics_OCCTVersion.hxx>
#include "utilities.h" #include "utilities.h"
#include "chrono.hxx" #include "chrono.hxx"

View File

@ -75,8 +75,6 @@
#include <gp_XY.hxx> #include <gp_XY.hxx>
#include <gp_XYZ.hxx> #include <gp_XYZ.hxx>
#include <Basics_OCCTVersion.hxx>
#include <Basics_Utils.hxx> #include <Basics_Utils.hxx>
#include "utilities.h" #include "utilities.h"

View File

@ -38,8 +38,6 @@
#include "SMESH_MesherHelper.hxx" #include "SMESH_MesherHelper.hxx"
#include "SMESH_subMeshEventListener.hxx" #include "SMESH_subMeshEventListener.hxx"
#include <Basics_OCCTVersion.hxx>
#include "utilities.h" #include "utilities.h"
#include "OpUtil.hxx" #include "OpUtil.hxx"
#include "Basics_Utils.hxx" #include "Basics_Utils.hxx"

View File

@ -143,6 +143,7 @@
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes) #include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
#include CORBA_CLIENT_HEADER(SMESH_MeshEditor) #include CORBA_CLIENT_HEADER(SMESH_MeshEditor)
#include CORBA_CLIENT_HEADER(SMESH_Measurements) #include CORBA_CLIENT_HEADER(SMESH_Measurements)
#include CORBA_CLIENT_HEADER(SMESH_Mesh)
// Qt includes // Qt includes
// #define INCLUDE_MENUITEM_DEF // VSR commented ???????? // #define INCLUDE_MENUITEM_DEF // VSR commented ????????
@ -653,7 +654,7 @@ namespace
// Get parameters of export operation // Get parameters of export operation
QString aFilename; QString aFilename;
SMESH::MED_VERSION aFormat = SMESH::MED_V2_2; SMESH::MED_VERSION aFormat = SMESH::MED_LATEST;
// Init the parameters with the default values // Init the parameters with the default values
bool aIsASCII_STL = true; bool aIsASCII_STL = true;
bool toCreateGroups = false; bool toCreateGroups = false;
@ -741,11 +742,17 @@ namespace
else if ( isMED || isSAUV ) // Export to MED or SAUV else if ( isMED || isSAUV ) // Export to MED or SAUV
{ {
QMap<QString, SMESH::MED_VERSION> aFilterMap; QMap<QString, SMESH::MED_VERSION> aFilterMap;
//QString v21 (aMesh->GetVersionString(SMESH::MED_V2_1, 2));
if ( isMED ) { if ( isMED ) {
QString v22 (aMesh->GetVersionString(SMESH::MED_V2_2, 2)); QString v22 (aMesh->GetVersionString(SMESH::MED_V2_2, 2));
//aFilterMap.insert( QObject::tr( "MED_VX_FILES_FILTER" ).arg( v21 ) + " (*.med)", SMESH::MED_V2_1 );
aFilterMap.insert( QObject::tr( "MED_VX_FILES_FILTER" ).arg( v22 ) + " (*.med)", SMESH::MED_V2_2 ); aFilterMap.insert( QObject::tr( "MED_VX_FILES_FILTER" ).arg( v22 ) + " (*.med)", SMESH::MED_V2_2 );
int minor = v22.split(".").last().toInt();
int vv= int(SMESH::MED_MINOR_0); // add all minor from 0 to current
for (int ii=0; ii<minor; ii++)
{
QString vs = aMesh->GetVersionString(SMESH::MED_VERSION(vv), 2);
aFilterMap.insert( QObject::tr( "MED_VX_FILES_FILTER" ).arg( vs ) + " (*.med)", SMESH::MED_VERSION(vv));
vv = vv +1;
}
} }
else { // isSAUV else { // isSAUV
aFilterMap.insert("All files (*)", SMESH::MED_V2_1 ); aFilterMap.insert("All files (*)", SMESH::MED_V2_1 );
@ -826,7 +833,7 @@ namespace
} }
if( !toOverwrite ) { if( !toOverwrite ) {
// can't append to an existing using other format // can't append to an existing using other format
SMESH::MED_VERSION aVersion = SMESH::MED_V2_1; SMESH::MED_VERSION aVersion = aFormat; //SMESH::MED_V2_1;
bool isVersionOk = SMESHGUI::GetSMESHGen()->GetMEDVersion( aFilename.toUtf8().constData(), aVersion ); bool isVersionOk = SMESHGUI::GetSMESHGen()->GetMEDVersion( aFilename.toUtf8().constData(), aVersion );
if( !isVersionOk || aVersion != aFormat ) { if( !isVersionOk || aVersion != aFormat ) {
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(), int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
@ -2649,9 +2656,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if(checkLock(aStudy)) break; if(checkLock(aStudy)) break;
SUIT_OverrideCursor wc; SUIT_OverrideCursor wc;
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
SMESH::UpdateView(); SMESH::UpdateView();
} }
catch (std::bad_alloc) { // PAL16774 (Crash after display of many groups) catch (std::bad_alloc) { // PAL16774 (Crash after display of many groups)

View File

@ -1984,9 +1984,7 @@ void SMESHGUI_PrecomputeOp::onPreview()
SMESH::long_array_var aShapesId = new SMESH::long_array(); SMESH::long_array_var aShapesId = new SMESH::long_array();
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
SMESH::MeshPreviewStruct_var previewData = SMESH::MeshPreviewStruct_var previewData =
gen->Precompute(myMesh, myMainShape, (SMESH::Dimension)dim, aShapesId); gen->Precompute(myMesh, myMainShape, (SMESH::Dimension)dim, aShapesId);
@ -2009,9 +2007,7 @@ void SMESHGUI_PrecomputeOp::onPreview()
} }
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
aCompErrors = gen->GetComputeErrors( myMesh, myMainShape ); aCompErrors = gen->GetComputeErrors( myMesh, myMainShape );
// check if there are memory problems // check if there are memory problems
for ( CORBA::ULong i = 0; (i < aCompErrors->length()) && !memoryLack; ++i ) for ( CORBA::ULong i = 0; (i < aCompErrors->length()) && !memoryLack; ++i )
@ -2227,9 +2223,7 @@ void SMESHGUI_BaseComputeOp::evaluateMesh()
} }
SUIT_OverrideCursor aWaitCursor; SUIT_OverrideCursor aWaitCursor;
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
aRes = gen->Evaluate(myMesh, myMainShape); aRes = gen->Evaluate(myMesh, myMainShape);
} }
catch(const SALOME::SALOME_Exception & S_ex){ catch(const SALOME::SALOME_Exception & S_ex){
@ -2237,9 +2231,7 @@ void SMESHGUI_BaseComputeOp::evaluateMesh()
} }
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
aCompErrors = gen->GetComputeErrors( myMesh, myMainShape ); aCompErrors = gen->GetComputeErrors( myMesh, myMainShape );
} }
catch(const SALOME::SALOME_Exception & S_ex){ catch(const SALOME::SALOME_Exception & S_ex){

View File

@ -33,13 +33,13 @@
#include <SMDS_Mesh.hxx> #include <SMDS_Mesh.hxx>
#include <SMDSAbs_ElementType.hxx> #include <SMDSAbs_ElementType.hxx>
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_Filter, VTKViewer_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_Filter, VTKViewer_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter, SMESHGUI_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter, SMESHGUI_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter, SMESHGUI_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_FacesFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_FacesFilter, SMESHGUI_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter, SMESHGUI_Filter)
OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter, SMESHGUI_Filter) IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter, SMESHGUI_Filter)
/* /*
Class : SMESHGUI_PredicateFilter Class : SMESHGUI_PredicateFilter

View File

@ -70,7 +70,7 @@ public:
Standard_EXPORT virtual bool IsObjValid( const int ) const = 0; Standard_EXPORT virtual bool IsObjValid( const int ) const = 0;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_Filter,VTKViewer_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_Filter,VTKViewer_Filter)
}; };
/* /*
@ -99,7 +99,7 @@ private:
SMESH::Predicate_var myPred; SMESH::Predicate_var myPred;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter,SMESHGUI_Filter)
}; };
/* /*
@ -121,7 +121,7 @@ public:
Standard_EXPORT virtual bool IsNodeFilter() const; Standard_EXPORT virtual bool IsNodeFilter() const;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter,SMESHGUI_Filter)
}; };
/* /*
@ -143,7 +143,7 @@ public:
Standard_EXPORT virtual bool IsNodeFilter() const; Standard_EXPORT virtual bool IsNodeFilter() const;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter,SMESHGUI_Filter)
}; };
/* /*
@ -165,7 +165,7 @@ public:
Standard_EXPORT virtual bool IsNodeFilter() const; Standard_EXPORT virtual bool IsNodeFilter() const;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_FacesFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_FacesFilter,SMESHGUI_Filter)
}; };
/* /*
@ -187,7 +187,7 @@ public:
Standard_EXPORT virtual bool IsNodeFilter() const; Standard_EXPORT virtual bool IsNodeFilter() const;
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter,SMESHGUI_Filter)
}; };
/* /*
@ -211,7 +211,7 @@ public:
Standard_EXPORT static int GetId( SMDSAbs_GeometryType geom ); Standard_EXPORT static int GetId( SMDSAbs_GeometryType geom );
public: public:
OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter,SMESHGUI_Filter) DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter,SMESHGUI_Filter)
}; };
#endif // SMESHGUI_FILTER_H #endif // SMESHGUI_FILTER_H

View File

@ -67,12 +67,16 @@
#define LoadLib( name ) LoadLibrary( name ) #define LoadLib( name ) LoadLibrary( name )
#define GetProc GetProcAddress #define GetProc GetProcAddress
#define UnLoadLib( handle ) FreeLibrary( handle ); #define UnLoadLib( handle ) FreeLibrary( handle );
#else #else // WIN32
#define LibHandle void* #define LibHandle void*
#ifdef DYNLOAD_LOCAL
#define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_LOCAL )
#else // DYNLOAD_LOCAL
#define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL ) #define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL )
#endif // DYNLOAD_LOCAL
#define GetProc dlsym #define GetProc dlsym
#define UnLoadLib( handle ) dlclose( handle ); #define UnLoadLib( handle ) dlclose( handle );
#endif #endif // WIN32
#ifdef _DEBUG_ #ifdef _DEBUG_
static int MYDEBUG = 0; static int MYDEBUG = 0;

View File

@ -39,6 +39,10 @@
<source>CGNS_FILES_FILTER</source> <source>CGNS_FILES_FILTER</source>
<translation>Fichiers CGNS</translation> <translation>Fichiers CGNS</translation>
</message> </message>
<message>
<source>CGNS_EXPORT_ELEMS_BY_TYPE</source>
<translation>Groupe les éléments par type</translation>
</message>
<message> <message>
<source>GMF_ASCII_FILES_FILTER</source> <source>GMF_ASCII_FILES_FILTER</source>
<translation>Fichiers GMF ASCII</translation> <translation>Fichiers GMF ASCII</translation>
@ -384,6 +388,22 @@
<source>MEN_DEL_GROUP</source> <source>MEN_DEL_GROUP</source>
<translation>Supprimer les groupes et leur contenu</translation> <translation>Supprimer les groupes et leur contenu</translation>
</message> </message>
<message>
<source>MEN_ADD_TO_GROUP</source>
<translation>Ajoute dans le groupe</translation>
</message>
<message>
<source>MEN_REMOVE_FROM_GROUP</source>
<translation>Supprime du groupe</translation>
</message>
<message>
<source>STB_ADD_TO_GROUP</source>
<translation>Ajoute dans le groupe les éléments sélectionnés</translation>
</message>
<message>
<source>STB_REMOVE_FROM_GROUP</source>
<translation>Supprime du groupe les éléments sélectionnés</translation>
</message>
<message> <message>
<source>MEN_FACE_ORIENTATION</source> <source>MEN_FACE_ORIENTATION</source>
<translation>Orientation des faces</translation> <translation>Orientation des faces</translation>
@ -5337,6 +5357,10 @@ Choisissez un groupe et essayez de nouveau</translation>
<source>SEPARATE_CORNERS_AND_MEDIUM</source> <source>SEPARATE_CORNERS_AND_MEDIUM</source>
<translation>Pas de fusion du coin et des noeuds moyens des cellules quadratiques</translation> <translation>Pas de fusion du coin et des noeuds moyens des cellules quadratiques</translation>
</message> </message>
<message>
<source>AVOID_MAKING_HOLES</source>
<translation>Evite de créer des trous</translation>
</message>
<message> <message>
<source>KEEP_NODES</source> <source>KEEP_NODES</source>
<translation>Les noeuds à conserver pendant la fusion</translation> <translation>Les noeuds à conserver pendant la fusion</translation>
@ -7011,6 +7035,14 @@ Il y a trop peu de points dans le fichier </translation>
<source>SMESH_CREATE_GROUP_FROM_GEOM</source> <source>SMESH_CREATE_GROUP_FROM_GEOM</source>
<translation>Créer des groupes à partir de la géométrie</translation> <translation>Créer des groupes à partir de la géométrie</translation>
</message> </message>
<message>
<source>ELEMENTS</source>
<translation>Eléments</translation>
</message>
<message>
<source>ELEMENTS_TOOLTIP</source>
<translation>Pas d'éléments 0D</translation>
</message>
</context> </context>
<context> <context>
<name>SMESHGUI_MeshOrderDlg</name> <name>SMESHGUI_MeshOrderDlg</name>
@ -7441,6 +7473,10 @@ en raison de leurs types incompatibles:
<source>ELEM_MODE</source> <source>ELEM_MODE</source>
<translation>Elément</translation> <translation>Elément</translation>
</message> </message>
<message>
<source>SHOW_IDS</source>
<translation>Montre les IDs</translation>
</message>
<message> <message>
<source>BUT_DUMP_MESH</source> <source>BUT_DUMP_MESH</source>
<translation>&amp;Dump</translation> <translation>&amp;Dump</translation>

View File

@ -39,6 +39,10 @@
<source>CGNS_FILES_FILTER</source> <source>CGNS_FILES_FILTER</source>
<translation>CGNS </translation> <translation>CGNS </translation>
</message> </message>
<message>
<source>CGNS_EXPORT_ELEMS_BY_TYPE</source>
<translation></translation>
</message>
<message> <message>
<source>GMF_ASCII_FILES_FILTER</source> <source>GMF_ASCII_FILES_FILTER</source>
<translation>GMFアスキーファイル</translation> <translation>GMFアスキーファイル</translation>
@ -383,6 +387,22 @@
<source>MEN_DEL_GROUP</source> <source>MEN_DEL_GROUP</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>MEN_ADD_TO_GROUP</source>
<translation></translation>
</message>
<message>
<source>MEN_REMOVE_FROM_GROUP</source>
<translation></translation>
</message>
<message>
<source>STB_ADD_TO_GROUP</source>
<translation></translation>
</message>
<message>
<source>STB_REMOVE_FROM_GROUP</source>
<translation></translation>
</message>
<message> <message>
<source>MEN_FACE_ORIENTATION</source> <source>MEN_FACE_ORIENTATION</source>
<translation></translation> <translation></translation>
@ -871,6 +891,10 @@
<source>MEN_QUADRATIC_PENTAHEDRON</source> <source>MEN_QUADRATIC_PENTAHEDRON</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>MEN_BIQUADRATIC_PENTAHEDRON</source>
<translation>4</translation>
</message>
<message> <message>
<source>MEN_QUADRATIC_PYRAMID</source> <source>MEN_QUADRATIC_PYRAMID</source>
<translation></translation> <translation></translation>
@ -1343,6 +1367,10 @@
<source>SMESH_ADD_QUADRATIC_PENTAHEDRON_TITLE</source> <source>SMESH_ADD_QUADRATIC_PENTAHEDRON_TITLE</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>SMESH_ADD_BIQUADRATIC_PENTAHEDRON_TITLE</source>
<translation>4</translation>
</message>
<message> <message>
<source>SMESH_ADD_QUADRATIC_PYRAMID_TITLE</source> <source>SMESH_ADD_QUADRATIC_PYRAMID_TITLE</source>
<translation></translation> <translation></translation>
@ -2479,10 +2507,18 @@
<source>SMESH_QUADRATIC_PENTAHEDRON</source> <source>SMESH_QUADRATIC_PENTAHEDRON</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>SMESH_BIQUADRATIC_PENTAHEDRON</source>
<translation>4</translation>
</message>
<message> <message>
<source>SMESH_QUADRATIC_PENTAHEDRONS</source> <source>SMESH_QUADRATIC_PENTAHEDRONS</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>SMESH_BIQUADRATIC_PENTAHEDRONS</source>
<translation>4</translation>
</message>
<message> <message>
<source>SMESH_QUADRATIC_PYRAMID</source> <source>SMESH_QUADRATIC_PYRAMID</source>
<translation></translation> <translation></translation>
@ -3327,6 +3363,10 @@
<source>STB_QUADRATIC_PENTAHEDRON</source> <source>STB_QUADRATIC_PENTAHEDRON</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>STB_BIQUADRATIC_PENTAHEDRON</source>
<translation>4</translation>
</message>
<message> <message>
<source>STB_QUADRATIC_PYRAMID</source> <source>STB_QUADRATIC_PYRAMID</source>
<translation></translation> <translation></translation>
@ -4003,6 +4043,10 @@
<source>TOP_QUADRATIC_PENTAHEDRON</source> <source>TOP_QUADRATIC_PENTAHEDRON</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>TOP_BIQUADRATIC_PENTAHEDRON</source>
<translation>4</translation>
</message>
<message> <message>
<source>TOP_QUADRATIC_PYRAMID</source> <source>TOP_QUADRATIC_PYRAMID</source>
<translation></translation> <translation></translation>
@ -4831,6 +4875,10 @@
<source>SMESH_ADD_QUADRATIC_PENTAHEDRON</source> <source>SMESH_ADD_QUADRATIC_PENTAHEDRON</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>SMESH_ADD_BIQUADRATIC_PENTAHEDRON</source>
<translation>4</translation>
</message>
<message> <message>
<source>SMESH_ADD_QUADRATIC_PYRAMID</source> <source>SMESH_ADD_QUADRATIC_PYRAMID</source>
<translation></translation> <translation></translation>
@ -5252,6 +5300,10 @@
<source>SEPARATE_CORNERS_AND_MEDIUM</source> <source>SEPARATE_CORNERS_AND_MEDIUM</source>
<translation>2</translation> <translation>2</translation>
</message> </message>
<message>
<source>AVOID_MAKING_HOLES</source>
<translation></translation>
</message>
<message> <message>
<source>KEEP_NODES</source> <source>KEEP_NODES</source>
<translation></translation> <translation></translation>
@ -5849,7 +5901,7 @@
</message> </message>
<message> <message>
<source>ENTITY_TYPE_0</source> <source>ENTITY_TYPE_0</source>
<translation>NONE</translation> <translation>POINT1</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_1</source> <source>ENTITY_TYPE_1</source>
@ -5873,83 +5925,83 @@
</message> </message>
<message> <message>
<source>ENTITY_TYPE_6</source> <source>ENTITY_TYPE_6</source>
<translation>TRIA7</translation>
</message>
<message>
<source>ENTITY_TYPE_7</source>
<translation>QUAD4</translation> <translation>QUAD4</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_8</source> <source>ENTITY_TYPE_7</source>
<translation>QUAD8</translation> <translation>QUAD8</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_9</source> <source>ENTITY_TYPE_8</source>
<translation>QUAD9</translation> <translation>QUAD9</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_10</source> <source>ENTITY_TYPE_9</source>
<translation>POLYGON</translation>
</message>
<message>
<source>ENTITY_TYPE_11</source>
<translation>QPOLYGON</translation>
</message>
<message>
<source>ENTITY_TYPE_12</source>
<translation>TETRA4</translation> <translation>TETRA4</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_13</source> <source>ENTITY_TYPE_10</source>
<translation>TETRA10</translation> <translation>TETRA10</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_14</source> <source>ENTITY_TYPE_11</source>
<translation>PYRA5</translation> <translation>PYRA5</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_15</source> <source>ENTITY_TYPE_12</source>
<translation>PYRA13</translation> <translation>PYRA13</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_16</source> <source>ENTITY_TYPE_13</source>
<translation>HEXA8</translation>
</message>
<message>
<source>ENTITY_TYPE_17</source>
<translation>HEXA20</translation>
</message>
<message>
<source>ENTITY_TYPE_18</source>
<translation>HEXA27</translation>
</message>
<message>
<source>ENTITY_TYPE_19</source>
<translation>PENTA6</translation> <translation>PENTA6</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_20</source> <source>ENTITY_TYPE_14</source>
<translation>PENTA15</translation> <translation>PENTA15</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_21</source> <source>ENTITY_TYPE_15</source>
<translation>PENTA18</translation> <translation>HEXA8</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_22</source> <source>ENTITY_TYPE_16</source>
<translation>HEXA20</translation>
</message>
<message>
<source>ENTITY_TYPE_17</source>
<translation>HEXA27</translation>
</message>
<message>
<source>ENTITY_TYPE_18</source>
<translation>OCTA12</translation> <translation>OCTA12</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_23</source> <source>ENTITY_TYPE_19</source>
<translation></translation>
</message>
<message>
<source>ENTITY_TYPE_20</source>
<translation>POLYEDRE</translation> <translation>POLYEDRE</translation>
</message> </message>
<message> <message>
<source>ENTITY_TYPE_24</source> <source>ENTITY_TYPE_21</source>
<translation>[]</translation>
</message>
<message>
<source>ENTITY_TYPE_22</source>
<translation></translation>
</message>
<message>
<source>ENTITY_TYPE_23</source>
<translation>QPOLYEDRE</translation> <translation>QPOLYEDRE</translation>
</message> </message>
<message>
<source>ENTITY_TYPE_24</source>
<translation></translation>
</message>
<message> <message>
<source>ENTITY_TYPE_25</source> <source>ENTITY_TYPE_25</source>
<translation>BALL</translation> <translation></translation>
</message> </message>
<message> <message>
<source>GEOM_TYPE</source> <source>GEOM_TYPE</source>
@ -6878,6 +6930,14 @@
<source>SMESH_CREATE_GROUP_FROM_GEOM</source> <source>SMESH_CREATE_GROUP_FROM_GEOM</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>ELEMENTS</source>
<translation></translation>
</message>
<message>
<source>ELEMENTS_TOOLTIP</source>
<translation>0D要素がない</translation>
</message>
</context> </context>
<context> <context>
<name>SMESHGUI_MeshOrderDlg</name> <name>SMESHGUI_MeshOrderDlg</name>
@ -7306,6 +7366,10 @@
<source>ELEM_MODE</source> <source>ELEM_MODE</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>SHOW_IDS</source>
<translation>IDの表示</translation>
</message>
<message> <message>
<source>BUT_DUMP_MESH</source> <source>BUT_DUMP_MESH</source>
<translation>(&amp;D)</translation> <translation>(&amp;D)</translation>

View File

@ -33,7 +33,6 @@
#include <Utils_SALOME_Exception.hxx> #include <Utils_SALOME_Exception.hxx>
#include <Standard_Failure.hxx> #include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx> #include <Standard_ErrorHandler.hxx>
#include <Basics_OCCTVersion.hxx>
#include <utilities.h> #include <utilities.h>
// IMPORTANT: include this file _after_ OCC ones, else OCC_CATCH_SIGNALS can be undefined! // IMPORTANT: include this file _after_ OCC ones, else OCC_CATCH_SIGNALS can be undefined!

View File

@ -50,22 +50,22 @@
#include <unistd.h> #include <unistd.h>
#endif #endif
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient); IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient); IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient); IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject); IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis); IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis); IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis); IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis); IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis);
OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis); IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis);
using namespace std; using namespace std;
using SMESH::TPythonDump; using SMESH::TPythonDump;

View File

@ -40,8 +40,6 @@
#include <vector> #include <vector>
#include <set> #include <set>
#include <Basics_OCCTVersion.hxx>
#include <SALOMEconfig.h> #include <SALOMEconfig.h>
#include CORBA_CLIENT_HEADER(SALOMEDS) #include CORBA_CLIENT_HEADER(SALOMEDS)
@ -160,7 +158,7 @@ public:
bool AddAccessorMethod( _pyID theObjectID, const char* theAcsMethod ); bool AddAccessorMethod( _pyID theObjectID, const char* theAcsMethod );
OCCT_DEFINE_STANDARD_RTTIEXT(_pyCommand,Standard_Transient) DEFINE_STANDARD_RTTIEXT(_pyCommand,Standard_Transient)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -200,7 +198,7 @@ public:
virtual void ClearCommands(); virtual void ClearCommands();
virtual void Free() {} virtual void Free() {}
OCCT_DEFINE_STANDARD_RTTIEXT(_pyObject,Standard_Transient) DEFINE_STANDARD_RTTIEXT(_pyObject,Standard_Transient)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -331,7 +329,7 @@ private:
std::map< _AString, ExportedMeshData > myFile2ExportedMesh; std::map< _AString, ExportedMeshData > myFile2ExportedMesh;
Handle( _pyHypothesisReader ) myHypReader; Handle( _pyHypothesisReader ) myHypReader;
OCCT_DEFINE_STANDARD_RTTIEXT(_pyGen,_pyObject) DEFINE_STANDARD_RTTIEXT(_pyGen,_pyObject)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -372,7 +370,7 @@ private:
static void AddMeshAccess( const Handle(_pyCommand)& theCommand ) static void AddMeshAccess( const Handle(_pyCommand)& theCommand )
{ theCommand->SetObject( theCommand->GetObject() + "." _pyMesh_ACCESS_METHOD ); } { theCommand->SetObject( theCommand->GetObject() + "." _pyMesh_ACCESS_METHOD ); }
OCCT_DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject) DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
}; };
#undef _pyMesh_ACCESS_METHOD #undef _pyMesh_ACCESS_METHOD
@ -392,7 +390,7 @@ public:
virtual void Flush() {} virtual void Flush() {}
virtual bool CanClear(); virtual bool CanClear();
OCCT_DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject) DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -476,7 +474,7 @@ public:
//void ComputeSaved ( const Handle(_pyCommand)& theComputeCommand ); //void ComputeSaved ( const Handle(_pyCommand)& theComputeCommand );
OCCT_DEFINE_STANDARD_RTTIEXT(_pyHypothesis,_pyObject) DEFINE_STANDARD_RTTIEXT(_pyHypothesis,_pyObject)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -493,7 +491,7 @@ public:
virtual const char* AccessorMethod() const { return "GetAlgorithm()"; } virtual const char* AccessorMethod() const { return "GetAlgorithm()"; }
virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped; } virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped; }
OCCT_DEFINE_STANDARD_RTTIEXT(_pyAlgorithm,_pyHypothesis) DEFINE_STANDARD_RTTIEXT(_pyAlgorithm,_pyHypothesis)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -508,7 +506,7 @@ public:
virtual void Process( const Handle(_pyCommand)& theCommand); virtual void Process( const Handle(_pyCommand)& theCommand);
virtual void Flush(); virtual void Flush();
OCCT_DEFINE_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis) DEFINE_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis)
}; };
DEFINE_STANDARD_HANDLE (_pyComplexParamHypo, _pyHypothesis); DEFINE_STANDARD_HANDLE (_pyComplexParamHypo, _pyHypothesis);
@ -530,7 +528,7 @@ public:
const _pyID& theMesh); const _pyID& theMesh);
virtual void Free() { my1dHyp.Nullify(); } virtual void Free() { my1dHyp.Nullify(); }
OCCT_DEFINE_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis) DEFINE_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis)
}; };
DEFINE_STANDARD_HANDLE (_pyLayerDistributionHypo, _pyHypothesis); DEFINE_STANDARD_HANDLE (_pyLayerDistributionHypo, _pyHypothesis);
@ -547,7 +545,7 @@ public:
const _pyID& theMesh); const _pyID& theMesh);
void Flush(); void Flush();
OCCT_DEFINE_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis) DEFINE_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis)
}; };
DEFINE_STANDARD_HANDLE (_pyNumberOfSegmentsHyp, _pyHypothesis); DEFINE_STANDARD_HANDLE (_pyNumberOfSegmentsHyp, _pyHypothesis);
@ -562,7 +560,7 @@ public:
_pySegmentLengthAroundVertexHyp(const Handle(_pyCommand)& theCrCmd): _pyHypothesis(theCrCmd) {} _pySegmentLengthAroundVertexHyp(const Handle(_pyCommand)& theCrCmd): _pyHypothesis(theCrCmd) {}
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd, virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
const _pyID& theMesh); const _pyID& theMesh);
OCCT_DEFINE_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis) DEFINE_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis)
}; };
DEFINE_STANDARD_HANDLE (_pySegmentLengthAroundVertexHyp, _pyHypothesis); DEFINE_STANDARD_HANDLE (_pySegmentLengthAroundVertexHyp, _pyHypothesis);
@ -581,7 +579,7 @@ public:
virtual bool CanClear(); virtual bool CanClear();
static bool IsAliveCmd( const Handle(_pyCommand)& theCmd ); static bool IsAliveCmd( const Handle(_pyCommand)& theCmd );
OCCT_DEFINE_STANDARD_RTTIEXT(_pySelfEraser,_pyObject) DEFINE_STANDARD_RTTIEXT(_pySelfEraser,_pyObject)
}; };
DEFINE_STANDARD_HANDLE (_pySelfEraser, _pyObject); DEFINE_STANDARD_HANDLE (_pySelfEraser, _pyObject);
@ -603,7 +601,7 @@ public:
void SetCreator( const Handle(_pyObject)& theCreator ) { myCreator = theCreator; } void SetCreator( const Handle(_pyObject)& theCreator ) { myCreator = theCreator; }
static bool CanBeArgOfMethod(const _AString& theMethodName); static bool CanBeArgOfMethod(const _AString& theMethodName);
OCCT_DEFINE_STANDARD_RTTIEXT(_pySubMesh,_pyObject) DEFINE_STANDARD_RTTIEXT(_pySubMesh,_pyObject)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
/*! /*!
@ -623,7 +621,7 @@ public:
//virtual void Free() { myUsers.clear(); } //virtual void Free() { myUsers.clear(); }
const _pyID& GetNewID() const { return myNewID; } const _pyID& GetNewID() const { return myNewID; }
OCCT_DEFINE_STANDARD_RTTIEXT(_pyFilter,_pyObject) DEFINE_STANDARD_RTTIEXT(_pyFilter,_pyObject)
}; };
DEFINE_STANDARD_HANDLE (_pyFilter, _pyObject); DEFINE_STANDARD_HANDLE (_pyFilter, _pyObject);
@ -644,7 +642,7 @@ public:
virtual bool CanClear(); virtual bool CanClear();
void RemovedWithContents(); void RemovedWithContents();
OCCT_DEFINE_STANDARD_RTTIEXT(_pyGroup,_pySubMesh) DEFINE_STANDARD_RTTIEXT(_pyGroup,_pySubMesh)
}; };
// ------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------
@ -659,7 +657,7 @@ public:
_pyHypothesisReader(); _pyHypothesisReader();
Handle(_pyHypothesis) GetHypothesis(const _AString& hypType, Handle(_pyHypothesis) GetHypothesis(const _AString& hypType,
const Handle(_pyCommand)& creationCmd) const; const Handle(_pyCommand)& creationCmd) const;
OCCT_DEFINE_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient) DEFINE_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient)
}; };
#endif #endif

View File

@ -496,6 +496,17 @@ namespace SMESH
switch (theVersion) { switch (theVersion) {
case SMESH::MED_V2_1: myStream << "SMESH.MED_V2_1"; break; case SMESH::MED_V2_1: myStream << "SMESH.MED_V2_1"; break;
case SMESH::MED_V2_2: myStream << "SMESH.MED_V2_2"; break; case SMESH::MED_V2_2: myStream << "SMESH.MED_V2_2"; break;
case SMESH::MED_LATEST: myStream << "SMESH.MED_LATEST"; break;
case SMESH::MED_MINOR_0: myStream << "SMESH.MED_MINOR_0"; break;
case SMESH::MED_MINOR_1: myStream << "SMESH.MED_MINOR_1"; break;
case SMESH::MED_MINOR_2: myStream << "SMESH.MED_MINOR_2"; break;
case SMESH::MED_MINOR_3: myStream << "SMESH.MED_MINOR_3"; break;
case SMESH::MED_MINOR_4: myStream << "SMESH.MED_MINOR_4"; break;
case SMESH::MED_MINOR_5: myStream << "SMESH.MED_MINOR_5"; break;
case SMESH::MED_MINOR_6: myStream << "SMESH.MED_MINOR_6"; break;
case SMESH::MED_MINOR_7: myStream << "SMESH.MED_MINOR_7"; break;
case SMESH::MED_MINOR_8: myStream << "SMESH.MED_MINOR_8"; break;
case SMESH::MED_MINOR_9: myStream << "SMESH.MED_MINOR_9"; break;
default: myStream << theVersion; default: myStream << theVersion;
} }
return *this; return *this;

View File

@ -40,8 +40,6 @@
#include <SALOMEDS_wrap.hxx> #include <SALOMEDS_wrap.hxx>
#include <GEOM_wrap.hxx> #include <GEOM_wrap.hxx>
#include <Basics_OCCTVersion.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
#include <Geom_CylindricalSurface.hxx> #include <Geom_CylindricalSurface.hxx>
#include <Geom_Plane.hxx> #include <Geom_Plane.hxx>
@ -3969,16 +3967,6 @@ CORBA::Boolean FilterLibrary_i::Save()
if ( myFileName == 0 || strlen( myFileName ) == 0 ) if ( myFileName == 0 || strlen( myFileName ) == 0 )
return false; return false;
#if OCC_VERSION_MAJOR < 7
FILE* aOutFile = fopen( myFileName, "wt" );
if ( !aOutFile )
return false;
LDOM_XmlWriter aWriter( aOutFile );
aWriter.SetIndentation( 2 );
aWriter << myDoc;
fclose( aOutFile );
#else
std::filebuf fb; std::filebuf fb;
fb.open( myFileName, std::ios::out ); fb.open( myFileName, std::ios::out );
@ -3988,7 +3976,6 @@ CORBA::Boolean FilterLibrary_i::Save()
aWriter.SetIndentation( 2 ); aWriter.SetIndentation( 2 );
aWriter.Write( os, myDoc ); aWriter.Write( os, myDoc );
fb.close(); fb.close();
#endif
TPythonDump()<<this<<".Save()"; TPythonDump()<<this<<".Save()";
return true; return true;

View File

@ -62,12 +62,16 @@
#define LoadLib( name ) LoadLibrary( name ) #define LoadLib( name ) LoadLibrary( name )
#define GetProc GetProcAddress #define GetProc GetProcAddress
#define UnLoadLib( handle ) FreeLibrary( handle ); #define UnLoadLib( handle ) FreeLibrary( handle );
#else #else // WIN32
#define LibHandle void* #define LibHandle void*
#ifdef DYNLOAD_LOCAL
#define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_LOCAL )
#else // DYNLOAD_LOCAL
#define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL ) #define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL )
#endif // DYNLOAD_LOCAL
#define GetProc dlsym #define GetProc dlsym
#define UnLoadLib( handle ) dlclose( handle ); #define UnLoadLib( handle ) dlclose( handle );
#endif #endif // WIN32
#include "SMESH_Gen_i.hxx" #include "SMESH_Gen_i.hxx"
#include "SMESH_version.h" #include "SMESH_version.h"
@ -2970,6 +2974,17 @@ CORBA::Boolean SMESH_Gen_i::GetMEDVersion(const char* theFileName,
switch( aVersion ) { switch( aVersion ) {
case MED::eV2_1 : theVersion = SMESH::MED_V2_1; return true; case MED::eV2_1 : theVersion = SMESH::MED_V2_1; return true;
case MED::eV2_2 : theVersion = SMESH::MED_V2_2; return true; case MED::eV2_2 : theVersion = SMESH::MED_V2_2; return true;
case MED::eLATEST : theVersion = SMESH::MED_LATEST; return true;
case MED::eMINOR_0 : theVersion = SMESH::MED_MINOR_0; return true;
case MED::eMINOR_1 : theVersion = SMESH::MED_MINOR_1; return true;
case MED::eMINOR_2 : theVersion = SMESH::MED_MINOR_2; return true;
case MED::eMINOR_3 : theVersion = SMESH::MED_MINOR_3; return true;
case MED::eMINOR_4 : theVersion = SMESH::MED_MINOR_4; return true;
case MED::eMINOR_5 : theVersion = SMESH::MED_MINOR_5; return true;
case MED::eMINOR_6 : theVersion = SMESH::MED_MINOR_6; return true;
case MED::eMINOR_7 : theVersion = SMESH::MED_MINOR_7; return true;
case MED::eMINOR_8 : theVersion = SMESH::MED_MINOR_8; return true;
case MED::eMINOR_9 : theVersion = SMESH::MED_MINOR_9; return true;
case MED::eVUnknown : return false; case MED::eVUnknown : return false;
} }
return false; return false;

View File

@ -64,7 +64,6 @@
#include <Utils_CorbaException.hxx> #include <Utils_CorbaException.hxx>
#include <SALOMEDS_wrap.hxx> #include <SALOMEDS_wrap.hxx>
#include <SALOME_GenericObj_i.hh> #include <SALOME_GenericObj_i.hh>
#include <Basics_OCCTVersion.hxx>
#include <BRepAdaptor_Surface.hxx> #include <BRepAdaptor_Surface.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
@ -76,15 +75,8 @@
#include <gp_Ax2.hxx> #include <gp_Ax2.hxx>
#include <gp_Vec.hxx> #include <gp_Vec.hxx>
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
#define NO_CAS_CATCH
#endif
#include <Standard_Failure.hxx> #include <Standard_Failure.hxx>
#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx> #include <Standard_ErrorHandler.hxx>
#endif
#include <sstream> #include <sstream>
#include <limits> #include <limits>
@ -3890,7 +3882,6 @@ SMESH_MeshEditor_i::scale(SMESH::SMESH_IDSource_ptr theObject,
}; };
gp_Trsf aTrsf; gp_Trsf aTrsf;
#if OCC_VERSION_LARGE > 0x06070100
// fight against orthogonalization // fight against orthogonalization
// aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]), // aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]),
// 0, S[1], 0, thePoint.y * (1-S[1]), // 0, S[1], 0, thePoint.y * (1-S[1]),
@ -3903,13 +3894,6 @@ SMESH_MeshEditor_i::scale(SMESH::SMESH_IDSource_ptr theObject,
thePoint.z * (1-S[2])); thePoint.z * (1-S[2]));
M.SetDiagonal( S[0], S[1], S[2] ); M.SetDiagonal( S[0], S[1], S[2] );
#else
double tol = std::numeric_limits<double>::max();
aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]),
0, S[1], 0, thePoint.y * (1-S[1]),
0, 0, S[2], thePoint.z * (1-S[2]), tol, tol);
#endif
TIDSortedElemSet copyElements; TIDSortedElemSet copyElements;
TIDSortedElemSet* workElements = &elements; TIDSortedElemSet* workElements = &elements;
if ( myIsPreviewMode ) if ( myIsPreviewMode )

View File

@ -3022,6 +3022,7 @@ void SMESH_Mesh_i::ExportToMEDX (const char* file,
CORBA::Boolean autoDimension) CORBA::Boolean autoDimension)
throw(SALOME::SALOME_Exception) throw(SALOME::SALOME_Exception)
{ {
//MESSAGE("SMESH::MED_VERSION:"<< theVersion);
SMESH_TRY; SMESH_TRY;
if ( _preMeshInfo ) if ( _preMeshInfo )
_preMeshInfo->FullLoadFromFile(); _preMeshInfo->FullLoadFromFile();
@ -3048,6 +3049,7 @@ void SMESH_Mesh_i::ExportToMED (const char* file,
SMESH::MED_VERSION theVersion) SMESH::MED_VERSION theVersion)
throw(SALOME::SALOME_Exception) throw(SALOME::SALOME_Exception)
{ {
//MESSAGE("SMESH::MED_VERSION:"<< theVersion);
ExportToMEDX(file,auto_groups,theVersion,true); ExportToMEDX(file,auto_groups,theVersion,true);
} }
@ -3061,7 +3063,8 @@ void SMESH_Mesh_i::ExportMED (const char* file,
CORBA::Boolean auto_groups) CORBA::Boolean auto_groups)
throw(SALOME::SALOME_Exception) throw(SALOME::SALOME_Exception)
{ {
ExportToMEDX(file,auto_groups,SMESH::MED_V2_2,true); //MESSAGE("SMESH::MED_VERSION:"<< SMESH::MED_LATEST);
ExportToMEDX(file,auto_groups,SMESH::MED_LATEST,true);
} }
//================================================================================ //================================================================================

View File

@ -295,9 +295,7 @@ SMESH::point_array*
} }
bool ok = false; bool ok = false;
try { try {
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
ok = myPattern.Apply( aMesh, fset, theNodeIndexOnKeyPoint1, theReverse ); ok = myPattern.Apply( aMesh, fset, theNodeIndexOnKeyPoint1, theReverse );
} }
catch (Standard_Failure& exc) { catch (Standard_Failure& exc) {

View File

@ -1795,9 +1795,14 @@ class Mesh:
# @param auto_groups boolean parameter for creating/not creating # @param auto_groups boolean parameter for creating/not creating
# the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; # the groups Group_On_All_Nodes, Group_On_All_Faces, ... ;
# the typical use is auto_groups=False. # the typical use is auto_groups=False.
# @param version MED format version (MED_V2_1 or MED_V2_2, # @param version MED format version
# the latter meaning any current version). The parameter is # - MED_V2_1 is obsolete.
# obsolete since MED_V2_1 is no longer supported. # - MED_V2_2 means current version (kept for compatibility reasons)
# - MED_LATEST means current version.
# - MED_MINOR_x where x from 0 to 9 indicates the minor version of MED
# to use for writing MED files, for backward compatibility :
# for instance, with SALOME 8.4 use MED 3.2 (minor=2) instead of 3.3,
# to allow the file to be read with SALOME 8.3.
# @param overwrite boolean parameter for overwriting/not overwriting the file # @param overwrite boolean parameter for overwriting/not overwriting the file
# @param meshPart a part of mesh (group, sub-mesh) to export instead of the mesh # @param meshPart a part of mesh (group, sub-mesh) to export instead of the mesh
# @param autoDimension if @c True (default), a space dimension of a MED mesh can be either # @param autoDimension if @c True (default), a space dimension of a MED mesh can be either
@ -1813,7 +1818,7 @@ class Mesh:
# - 'f' stands for "_faces _" field; # - 'f' stands for "_faces _" field;
# - 's' stands for "_solids _" field. # - 's' stands for "_solids _" field.
# @ingroup l2_impexp # @ingroup l2_impexp
def ExportMED(self, f, auto_groups=0, version=MED_V2_2, def ExportMED(self, f, auto_groups=0, version=MED_LATEST,
overwrite=1, meshPart=None, autoDimension=True, fields=[], geomAssocFields=''): overwrite=1, meshPart=None, autoDimension=True, fields=[], geomAssocFields=''):
if meshPart or fields or geomAssocFields: if meshPart or fields or geomAssocFields:
unRegister = genObjUnRegister() unRegister = genObjUnRegister()
@ -1917,9 +1922,14 @@ class Mesh:
# Export the mesh in a file in MED format # Export the mesh in a file in MED format
# allowing to overwrite the file if it exists or add the exported data to its contents # allowing to overwrite the file if it exists or add the exported data to its contents
# @param f the file name # @param f the file name
# @param version MED format version (MED_V2_1 or MED_V2_2, # @param version MED format version:
# the latter meaning any current version). The parameter is # - MED_V2_1 is obsolete.
# obsolete since MED_V2_1 is no longer supported. # - MED_V2_2 means current version (kept for compatibility reasons)
# - MED_LATEST means current version.
# - MED_MINOR_x where x from 0 to 9 indicates the minor version of MED
# to use for writing MED files, for backward compatibility :
# for instance, with SALOME 8.4 use MED 3.2 (minor=2) instead of 3.3,
# to allow the file to be read with SALOME 8.3.
# @param opt boolean parameter for creating/not creating # @param opt boolean parameter for creating/not creating
# the groups Group_On_All_Nodes, Group_On_All_Faces, ... # the groups Group_On_All_Nodes, Group_On_All_Faces, ...
# @param overwrite boolean parameter for overwriting/not overwriting the file # @param overwrite boolean parameter for overwriting/not overwriting the file
@ -1929,7 +1939,7 @@ class Mesh:
# - 3D in the rest cases.<br> # - 3D in the rest cases.<br>
# If @a autoDimension is @c False, the space dimension is always 3. # If @a autoDimension is @c False, the space dimension is always 3.
# @ingroup l2_impexp # @ingroup l2_impexp
def ExportToMED(self, f, version=MED_V2_2, opt=0, overwrite=1, autoDimension=True): def ExportToMED(self, f, version=MED_LATEST, opt=0, overwrite=1, autoDimension=True):
self.mesh.ExportToMEDX(f, opt, version, overwrite, autoDimension) self.mesh.ExportToMEDX(f, opt, version, overwrite, autoDimension)
# Operations with groups: # Operations with groups:

View File

@ -36,7 +36,6 @@
#include <utilities.h> #include <utilities.h>
#include <Utils_ExceptHandlers.hxx> #include <Utils_ExceptHandlers.hxx>
#include <Basics_OCCTVersion.hxx>
#include <GEOMUtils.hxx> #include <GEOMUtils.hxx>
@ -1371,11 +1370,7 @@ namespace
} }
if ( surf->IsKind( STANDARD_TYPE(Geom_BSplineSurface )) || if ( surf->IsKind( STANDARD_TYPE(Geom_BSplineSurface )) ||
surf->IsKind( STANDARD_TYPE(Geom_BezierSurface ))) surf->IsKind( STANDARD_TYPE(Geom_BezierSurface )))
#if OCC_VERSION_MAJOR < 7
if ( !noSafeTShapes.insert((const Standard_Transient*) _face.TShape() ).second )
#else
if ( !noSafeTShapes.insert( _face.TShape().get() ).second ) if ( !noSafeTShapes.insert( _face.TShape().get() ).second )
#endif
isSafe = false; isSafe = false;
double f, l; double f, l;
@ -1415,11 +1410,7 @@ namespace
edgeIsSafe = false; edgeIsSafe = false;
} }
} }
#if OCC_VERSION_MAJOR < 7
if ( !edgeIsSafe && !noSafeTShapes.insert((const Standard_Transient*) e.TShape() ).second )
#else
if ( !edgeIsSafe && !noSafeTShapes.insert( e.TShape().get() ).second ) if ( !edgeIsSafe && !noSafeTShapes.insert( e.TShape().get() ).second )
#endif
isSafe = false; isSafe = false;
} }
return isSafe; return isSafe;

View File

@ -31,16 +31,9 @@
#include <math_GaussSingleIntegration.hxx> #include <math_GaussSingleIntegration.hxx>
#include <utilities.h> #include <utilities.h>
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
#define NO_CAS_CATCH
#endif
#include <Standard_Failure.hxx> #include <Standard_Failure.hxx>
#include <Expr_NamedUnknown.hxx> #include <Expr_NamedUnknown.hxx>
#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx> #include <Standard_ErrorHandler.hxx>
#endif
using namespace std; using namespace std;
@ -60,12 +53,9 @@ bool Function::value( const double, double& f ) const
bool ok = true; bool ok = true;
if (myConv == 0) { if (myConv == 0) {
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
f = pow( 10., f ); f = pow( 10., f );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
f = 0.0; f = 0.0;
ok = false; ok = false;
} }
@ -192,13 +182,10 @@ FunctionExpr::FunctionExpr( const char* str, const int conv )
{ {
bool ok = true; bool ok = true;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
myExpr = ExprIntrp_GenExp::Create(); myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( ( Standard_CString )str ); myExpr->Process( ( Standard_CString )str );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
ok = false; ok = false;
} }
@ -228,12 +215,9 @@ bool FunctionExpr::value( const double t, double& f ) const
( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t; ( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t;
bool ok = true; bool ok = true;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
f = myExpr->Expression()->Evaluate( myVars, myValues ); f = myExpr->Expression()->Evaluate( myVars, myValues );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
f = 0.0; f = 0.0;
ok = false; ok = false;
} }
@ -246,9 +230,7 @@ double FunctionExpr::integral( const double a, const double b ) const
{ {
double res = 0.0; double res = 0.0;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
math_GaussSingleIntegration _int math_GaussSingleIntegration _int
( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 ); ( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
if( _int.IsDone() ) if( _int.IsDone() )

View File

@ -42,15 +42,8 @@
#include <TopExp.hxx> #include <TopExp.hxx>
#include <TopTools_IndexedMapOfShape.hxx> #include <TopTools_IndexedMapOfShape.hxx>
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
#define NO_CAS_CATCH
#endif
#include <Standard_Failure.hxx> #include <Standard_Failure.hxx>
#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx> #include <Standard_ErrorHandler.hxx>
#endif
#include <Basics_Utils.hxx> #include <Basics_Utils.hxx>
@ -238,13 +231,10 @@ void StdMeshers_NumberOfSegments::SetTableFunction(const vector<double>& table)
if( _convMode==0 ) if( _convMode==0 )
{ {
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
val = pow( 10.0, val ); val = pow( 10.0, val );
} }
catch(Standard_Failure) { catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
throw SALOME_Exception( LOCALIZED( "invalid value")); throw SALOME_Exception( LOCALIZED( "invalid value"));
return; return;
} }
@ -335,13 +325,10 @@ bool process( const TCollection_AsciiString& str, int convMode,
bool parsed_ok = true; bool parsed_ok = true;
Handle( ExprIntrp_GenExp ) myExpr; Handle( ExprIntrp_GenExp ) myExpr;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
myExpr = ExprIntrp_GenExp::Create(); myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( str.ToCString() ); myExpr->Process( str.ToCString() );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
parsed_ok = false; parsed_ok = false;
} }

View File

@ -29,8 +29,6 @@
#include "StdMeshers_RadialPrism_3D.hxx" #include "StdMeshers_RadialPrism_3D.hxx"
#include <Basics_OCCTVersion.hxx>
#include "StdMeshers_ProjectionUtils.hxx" #include "StdMeshers_ProjectionUtils.hxx"
#include "StdMeshers_NumberOfLayers.hxx" #include "StdMeshers_NumberOfLayers.hxx"
#include "StdMeshers_LayerDistribution.hxx" #include "StdMeshers_LayerDistribution.hxx"

View File

@ -37,15 +37,8 @@
#include <Expr_NamedUnknown.hxx> #include <Expr_NamedUnknown.hxx>
#include <Expr_GeneralExpression.hxx> #include <Expr_GeneralExpression.hxx>
#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
#define NO_CAS_CATCH
#endif
#include <Standard_Failure.hxx> #include <Standard_Failure.hxx>
#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx> #include <Standard_ErrorHandler.hxx>
#endif
#ifdef WIN32 #ifdef WIN32
# include <algorithm> # include <algorithm>
@ -356,12 +349,9 @@ void StdMeshersGUI_DistrPreview::update()
x = y = 0; x = y = 0;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
replot(); replot();
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
} }
} }
@ -404,13 +394,10 @@ bool StdMeshersGUI_DistrPreview::init( const QString& str )
Kernel_Utils::Localizer loc; Kernel_Utils::Localizer loc;
bool parsed_ok = true; bool parsed_ok = true;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
myExpr = ExprIntrp_GenExp::Create(); myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( ( Standard_CString ) str.toLatin1().data() ); myExpr->Process( ( Standard_CString ) str.toLatin1().data() );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
parsed_ok = false; parsed_ok = false;
} }
@ -446,12 +433,9 @@ double StdMeshersGUI_DistrPreview::calc( bool& ok )
ok = true; ok = true;
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
res = myExpr->Expression()->Evaluate( myVars, myValues ); res = myExpr->Expression()->Evaluate( myVars, myValues );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
ok = false; ok = false;
res = 0.0; res = 0.0;
} }
@ -472,16 +456,13 @@ bool StdMeshersGUI_DistrPreview::convert( double& v ) const
case EXPONENT: case EXPONENT:
{ {
try { try {
#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS; OCC_CATCH_SIGNALS;
#endif
// in StdMeshers_NumberOfSegments.cc // in StdMeshers_NumberOfSegments.cc
// const double PRECISION = 1e-7; // const double PRECISION = 1e-7;
// //
if(v < -7) v = -7.0; if(v < -7) v = -7.0;
v = pow( 10.0, v ); v = pow( 10.0, v );
} catch(Standard_Failure) { } catch(Standard_Failure) {
Handle(Standard_Failure) aFail = Standard_Failure::Caught();
v = 0.0; v = 0.0;
ok = false; ok = false;
} }

View File

@ -16,36 +16,41 @@
# #
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
# #
IF(SALOME_BUILD_DOC) IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC) ENDIF(SALOME_BUILD_DOC)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt) INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
MGCleanerMonPlugDialog.py MGCleanerMonPlugDialog.py
MGCleanerMonViewText.py MGCleanerMonViewText.py
MGCleanerplug_plugin.py MGCleanerplug_plugin.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
MGCleanerPlugDialog.ui MGCleanerPlugDialog.ui
MGCleanerViewText.ui MGCleanerViewText.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
IF(SALOME_BUILD_GUI) IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI) ENDIF(SALOME_BUILD_GUI)

View File

@ -38,7 +38,7 @@ SET(_link_LIBRARIES
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
meshcut_plugin.py meshcut_plugin.py
) )
@ -61,26 +61,25 @@ SET(MeshCut_SOURCES
) )
IF(SALOME_BUILD_GUI) IF(SALOME_BUILD_GUI)
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
MeshCutDialog.ui MeshCutDialog.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI) ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES}) ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES})
TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES}) TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES})
INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS}) INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
IF(SALOME_BUILD_GUI) IF(SALOME_BUILD_GUI)
INSTALL(FILES ${_pyuic_SCRIPTS} DESTINATION ${SALOME_INSTALL_BINS}) SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_BINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI) ENDIF(SALOME_BUILD_GUI)

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
maFenetreChoix.py maFenetreChoix.py
monEditor.py monEditor.py
monNomBase.py monNomBase.py
@ -30,10 +30,8 @@ SET(plugin_SCRIPTS
__init__.py __init__.py
) )
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
desFenetreChoix.ui desFenetreChoix.ui
desStat.ui desStat.ui
myMainTotale.ui myMainTotale.ui
@ -42,12 +40,14 @@ SET(_pyuic_files
nomBase.ui nomBase.ui
tousLesJobs.ui tousLesJobs.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui) SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})

View File

@ -21,30 +21,36 @@ IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC) ENDIF(SALOME_BUILD_DOC)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt) INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
monYamsPlugDialog.py monYamsPlugDialog.py
monViewText.py monViewText.py
yamsplug_plugin.py yamsplug_plugin.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
YamsPlugDialog.ui YamsPlugDialog.ui
ViewText.ui ViewText.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -19,12 +19,14 @@
ADD_SUBDIRECTORY(casTests) ADD_SUBDIRECTORY(casTests)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt) INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
__init__.py __init__.py
ellipse.py ellipse.py
genereCrack.py genereCrack.py
@ -38,22 +40,27 @@ SET(plugin_SCRIPTS
Zset.py Zset.py
) )
SET(command_SCRIPTS SET(_command_SCRIPTS
zcracksLaunch.py zcracksLaunch.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
zcracks.ui zcracks.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks) SALOME_INSTALL_SCRIPTS("${_command_SCRIPTS}" ${SALOME_INSTALL_BINS})
SALOME_INSTALL_SCRIPTS("${command_SCRIPTS}" ${SALOME_INSTALL_BINS}) IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
__init__.py __init__.py
fissureCoude_ihm.py fissureCoude_ihm.py
fissureCoude_plugin.py fissureCoude_plugin.py
@ -30,19 +30,19 @@ SET(plugin_SCRIPTS
dialogFissureCoude.dic dialogFissureCoude.dic
) )
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
fissureCoude.ui fissureCoude.ui
fissureGenerale.ui fissureGenerale.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm) SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(py_SCRIPTS SET(_py_SCRIPTS
__init__.py __init__.py
plugindialog.py plugindialog.py
inputdialog.py inputdialog.py
@ -32,7 +32,7 @@ SET(py_SCRIPTS
# --- resources --- # --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(spadderpy_DATA SET(_spadderpy_DATA
parameters.png parameters.png
input.png input.png
select.png select.png
@ -46,15 +46,20 @@ SET(spadderpy_DATA
steelbar.png steelbar.png
) )
SET(_pyuic_files SET(_pyuic_FILES
plugindialog.ui plugindialog.ui
inputframe.ui inputframe.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui) SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui TARGET_NAME _target_name_pyuic_py)
SALOME_INSTALL_SCRIPTS("${py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui) # add dependency of compiled py files on uic files in order
INSTALL(FILES ${spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui) # to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
SALOME_INSTALL_SCRIPTS("${_py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
INSTALL(FILES ${_spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)