STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
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}_VERSION
${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
OPTION(SALOME_BUILD_GUI "Enable GUI" ON)
OPTION(SALOME_SMESH_USE_CGNS "Enable import/export to CGNS format" 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
IF(NOT WIN32)
ADD_DEFINITIONS(-DENABLE_MEFISTO)
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
# =============
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/input $(GEOM_ROOT_DIR)/share/doc/salome/gui/GEOM/input
FILE_PATTERNS = *.doc
EXCLUDE =
+EXCLUDE_PATTERNS = tui_*.doc
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
/*!
* 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
{
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
};
/*!
raises (SALOME::SALOME_Exception);
/*!
- * Export Mesh to MED_V2_1 MED format
- * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1
+ * Export Mesh to MED_LATEST MED format
+ * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_LATEST
* and overwrite parameter equal to true
* The method is kept in order to support old functionality
*/
{
Driver_SMESHDS_Mesh::SetFile(theFileName);
myMedVersion = theId;
+ //MESSAGE("myMedVersion:"<<myMedVersion);
}
void DriverMED_W_SMESHDS_Mesh::SetFile(const std::string& 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)
{
TInt majeur, mineur, release;
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;
if ( theNbDigits > 0 )
name << majeur;
if ( theNbDigits > 1 )
- name << "." << mineur;
+ name << "." << imposedMineur;
if ( theNbDigits > 2 )
name << "." << release;
return name.str();
break;
}
}
-
+ //MESSAGE("myMedVersion:"<<myMedVersion);
MED::PWrapper myMed = CrWrapper(myFile,myMedVersion);
PMeshInfo aMeshInfo = myMed->CrMeshInfo(aMeshDimension,aSpaceDimension,aMeshName);
//MESSAGE("Add - aMeshName : "<<aMeshName<<"; "<<aMeshInfo->GetName());
#endif
namespace MED{
-
- enum EVersion {eVUnknown = -1, eV2_1, eV2_2};
+ // enum EVersion sould be synchronized with enum MED_VERSION in SMESH_Mesh.idl (.hh)
+ // 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 double TFloat;
#include "MED_Factory.hxx"
#include "MED_Utilities.hxx"
#include "MED_V2_2_Wrapper.hxx"
-
#include <stdio.h>
#include <errno.h>
#include <sstream>
if(aMajor == 2 && aMinor == 1)
aVersion = eV2_1;
else
+ // TODO: check major is not superior to library and switch on minor
aVersion = eV2_2;
}
else {
}
PWrapper CrWrapper(const std::string& theFileName,
- bool theDoPreCheckInSeparateProcess)
+ bool theDoPreCheckInSeparateProcess,
+ int theMinor)
{
PWrapper aWrapper;
+ if (theMinor <0)
+ theMinor = MED_MINOR_NUM;
EVersion aVersion = GetVersionId(theFileName,theDoPreCheckInSeparateProcess);
switch(aVersion){
- 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:
- EXCEPTION(std::runtime_error,"MED::CrWrapper - theFileName = '"<<theFileName<<"'");
+ aWrapper.reset(new MED::V2_2::TVWrapper(theFileName, theMinor));
}
return aWrapper;
}
PWrapper CrWrapper(const std::string& theFileName, EVersion theId)
{
EVersion aVersion = GetVersionId(theFileName);
+ if (aVersion == eVUnknown) // no existing file
+ aVersion = theId;
if(aVersion != theId)
- remove(theFileName.c_str());
-
- PWrapper aWrapper;
- switch(theId){
- 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));
+ //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;
+ aWrapper.reset(new MED::V2_2::TVWrapper(theFileName, theMinor));
return aWrapper;
}
MEDWRAPPER_FACTORY_EXPORT
PWrapper
CrWrapper(const std::string& theFileName,
- bool theDoPreCheckInSeparateProcess = false);
+ bool theDoPreCheckInSeparateProcess = false,
+ int theMinor=-1);
MEDWRAPPER_FACTORY_EXPORT
PWrapper
#include <med.h>
#include <med_err.h>
+#include <med_proto.h>
#ifdef _DEBUG_
static int MYDEBUG = 0;
TFile(const TFile&);
public:
- TFile(const std::string& theFileName):
+ TFile(const std::string& theFileName, TInt theMinor=-1):
myCount(0),
myFid(0),
- myFileName(theFileName)
- {}
+ myFileName(theFileName),
+ myMinor(theMinor)
+ {
+ if ((myMinor < 0) || (myMinor > MED_MINOR_NUM)) myMinor = MED_MINOR_NUM;
+ }
~TFile()
{
{
if(myCount++ == 0){
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)
*theErr = TErr(myFid);
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
TInt myCount;
TIdt myFid;
std::string myFileName;
+ TInt myMinor;
};
class TFileWrapper
{
PFile myFile;
+ TInt myMinor;
public:
- TFileWrapper(const PFile& theFile, EModeAcces theMode, TErr* theErr = NULL):
- myFile(theFile)
+ TFileWrapper(const PFile& theFile, EModeAcces theMode, TErr* theErr = NULL, TInt theMinor=-1):
+ myFile(theFile),
+ myMinor(theMinor)
{
+ if (myMinor < 0) myMinor = MED_MINOR_NUM;
myFile->Open(theMode,theErr);
}
//---------------------------------------------------------------
- TVWrapper::TVWrapper(const std::string& theFileName):
- myFile(new TFile(theFileName))
+ TVWrapper::TVWrapper(const std::string& theFileName, TInt theMinor):
+ myMinor(theMinor),
+ myFile(new TFile(theFileName, theMinor))
{
TErr aRet;
myFile->Open( eLECTURE_ECRITURE, &aRet );
- // if(aRet < 0)
- // myFile->Close();
- // myFile->Open( eLECTURE_AJOUT, &aRet );
- // }
if(aRet < 0) {
myFile->Close();
myFile->Open( eLECTURE, &aRet );
TVWrapper
::GetNbMeshes(TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
MED::TMeshInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
::GetNbFamilies(const MED::TMeshInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
const MED::TMeshInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
const MED::TMeshInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
MED::TFamilyInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGeometrieElement theGeom,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
ETable theTable,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
::GetNodeInfo(MED::TNodeInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
::GetPolygoneInfo(MED::TPolygoneInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EConnectivite theConnMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return 0;
::GetPolyedreInfo(TPolyedreInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EConnectivite theConnMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
EXCEPTION(std::runtime_error,"GetPolyedreConnSize - (...)");
{
TEntityInfo anInfo;
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return anInfo;
EConnectivite theConnMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
//----------------------------------------------------------------------------
void TVWrapper::GetCellInfo(MED::TCellInfo& theInfo, TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
//! Read geom type of MED_BALL structural element
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
char geotypename[ MED_NAME_SIZE + 1] = MED_BALL_NAME;
//! Read number of balls in the Mesh
TInt TVWrapper::GetNbBalls(const TMeshInfo& theMeshInfo)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE);
+ TErr anError;
+ TFileWrapper aFileWrapper(myFile, eLECTURE, &anError, myMinor);
EGeometrieElement ballType = GetBallGeom( theMeshInfo );
if ( ballType < 0 )
//! Read a MEDWrapped representation of MED_BALL from the MED file
void TVWrapper::GetBallInfo(TBallInfo& theInfo, TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
// check geometry of MED_BALL
if ( theInfo.myGeom == eBALL )
//! Write a MEDWrapped representation of MED_BALL to the MED file
void TVWrapper::SetBallInfo(const TBallInfo& theInfo, EModeAcces theMode, TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
TErr ret;
char ballsupportname[MED_NAME_SIZE+1]="BALL_SUPPORT_MESH";
TVWrapper
::GetNbFields(TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
::GetNbComp(TInt theFieldId,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
MED::TFieldInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
TVWrapper
::GetNbGauss(TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
::GetGaussPreInfo(TInt theId,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return TGaussInfo::TInfo( TGaussInfo::TKey(ePOINT1,""),0 );
TGaussInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
TVWrapper
::GetNbProfiles(TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return -1;
::GetProfilePreInfo(TInt theId,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return TProfileInfo::TInfo();
TProfileInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
TErr* theErr)
{
theEntity = EEntiteMaillage(-1);
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr){
if(theEntityInfo.empty())
MED::TTimeStampInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
const TGeom2Size& aGeom2Size = theInfo.myGeom2Size;
const TKey2Gauss& theKey2Gauss,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EModeAcces theMode,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
{
if(theInfo.myMeshInfo->myType != eSTRUCTURE)
return;
- TFileWrapper aFileWrapper(myFile,theMode,theErr);
+ TFileWrapper aFileWrapper(myFile,theMode,theErr, myMinor);
if(theErr && *theErr < 0)
return;
::GetGrilleInfo(TGrilleInfo& theInfo,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
EGrilleType& theGridType,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
EXCEPTION(std::runtime_error," GetGrilleType - aFileWrapper (...)");
TIntVector& theStruct,
TErr* theErr)
{
- TFileWrapper aFileWrapper(myFile,eLECTURE,theErr);
+ TFileWrapper aFileWrapper(myFile,eLECTURE,theErr, myMinor);
if(theErr && *theErr < 0)
return;
TVWrapper& operator=(const TVWrapper&);
public:
- TVWrapper(const std::string& theFileName);
+ TVWrapper(const std::string& theFileName, TInt theMinor=-1);
//----------------------------------------------------------------------------
virtual
protected:
PFile myFile;
+ TInt myMinor;
};
}
}
#include "SMESH_TypeDefs.hxx"
#include "SMESH_subMesh.hxx"
-#include <Basics_OCCTVersion.hxx>
-
#include <BRepAdaptor_Curve.hxx>
#include <BRepLProp.hxx>
#include <BRep_Tool.hxx>
bool theAllElemsToGroup)
throw(SALOME_Exception)
{
+ //MESSAGE("MED_VERSION:"<< theVersion);
SMESH_TRY;
DriverMED_W_SMESHDS_Mesh myWriter;
#include "SMESH_OctreeNode.hxx"
#include "SMESH_subMesh.hxx"
-#include <Basics_OCCTVersion.hxx>
-
#include "utilities.h"
#include "chrono.hxx"
#include <gp_XY.hxx>
#include <gp_XYZ.hxx>
-#include <Basics_OCCTVersion.hxx>
-
#include <Basics_Utils.hxx>
#include "utilities.h"
#include "SMESH_MesherHelper.hxx"
#include "SMESH_subMeshEventListener.hxx"
-#include <Basics_OCCTVersion.hxx>
-
#include "utilities.h"
#include "OpUtil.hxx"
#include "Basics_Utils.hxx"
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
#include CORBA_CLIENT_HEADER(SMESH_MeshEditor)
#include CORBA_CLIENT_HEADER(SMESH_Measurements)
+#include CORBA_CLIENT_HEADER(SMESH_Mesh)
// Qt includes
// #define INCLUDE_MENUITEM_DEF // VSR commented ????????
// Get parameters of export operation
QString aFilename;
- SMESH::MED_VERSION aFormat = SMESH::MED_V2_2;
+ SMESH::MED_VERSION aFormat = SMESH::MED_LATEST;
// Init the parameters with the default values
bool aIsASCII_STL = true;
bool toCreateGroups = false;
else if ( isMED || isSAUV ) // Export to MED or SAUV
{
QMap<QString, SMESH::MED_VERSION> aFilterMap;
- //QString v21 (aMesh->GetVersionString(SMESH::MED_V2_1, 2));
if ( isMED ) {
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 );
+ 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
aFilterMap.insert("All files (*)", SMESH::MED_V2_1 );
}
if( !toOverwrite ) {
// 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 );
if( !isVersionOk || aVersion != aFormat ) {
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
if(checkLock(aStudy)) break;
SUIT_OverrideCursor wc;
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
SMESH::UpdateView();
}
catch (std::bad_alloc) { // PAL16774 (Crash after display of many groups)
SMESH::long_array_var aShapesId = new SMESH::long_array();
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
SMESH::MeshPreviewStruct_var previewData =
gen->Precompute(myMesh, myMainShape, (SMESH::Dimension)dim, aShapesId);
}
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
aCompErrors = gen->GetComputeErrors( myMesh, myMainShape );
// check if there are memory problems
for ( CORBA::ULong i = 0; (i < aCompErrors->length()) && !memoryLack; ++i )
}
SUIT_OverrideCursor aWaitCursor;
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
aRes = gen->Evaluate(myMesh, myMainShape);
}
catch(const SALOME::SALOME_Exception & S_ex){
}
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
aCompErrors = gen->GetComputeErrors( myMesh, myMainShape );
}
catch(const SALOME::SALOME_Exception & S_ex){
#include <SMDS_Mesh.hxx>
#include <SMDSAbs_ElementType.hxx>
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_Filter, VTKViewer_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter, SMESHGUI_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter, SMESHGUI_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter, SMESHGUI_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_FacesFilter, SMESHGUI_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter, SMESHGUI_Filter)
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_Filter, VTKViewer_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_FacesFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter, SMESHGUI_Filter)
+IMPLEMENT_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter, SMESHGUI_Filter)
/*
Class : SMESHGUI_PredicateFilter
Standard_EXPORT virtual bool IsObjValid( const int ) const = 0;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_Filter,VTKViewer_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_Filter,VTKViewer_Filter)
};
/*
SMESH::Predicate_var myPred;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_PredicateFilter,SMESHGUI_Filter)
};
/*
Standard_EXPORT virtual bool IsNodeFilter() const;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_QuadrangleFilter,SMESHGUI_Filter)
};
/*
Standard_EXPORT virtual bool IsNodeFilter() const;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_TriangleFilter,SMESHGUI_Filter)
};
/*
Standard_EXPORT virtual bool IsNodeFilter() const;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_FacesFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_FacesFilter,SMESHGUI_Filter)
};
/*
Standard_EXPORT virtual bool IsNodeFilter() const;
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumesFilter,SMESHGUI_Filter)
};
/*
Standard_EXPORT static int GetId( SMDSAbs_GeometryType geom );
public:
- OCCT_DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter,SMESHGUI_Filter)
+ DEFINE_STANDARD_RTTIEXT(SMESHGUI_VolumeShapeFilter,SMESHGUI_Filter)
};
#endif // SMESHGUI_FILTER_H
#endif
#ifdef WIN32
-#define LibHandle HMODULE
-#define LoadLib( name ) LoadLibrary( name )
-#define GetProc GetProcAddress
-#define UnLoadLib( handle ) FreeLibrary( handle );
-#else
-#define LibHandle void*
-#define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL )
-#define GetProc dlsym
-#define UnLoadLib( handle ) dlclose( handle );
-#endif
+ #define LibHandle HMODULE
+ #define LoadLib( name ) LoadLibrary( name )
+ #define GetProc GetProcAddress
+ #define UnLoadLib( handle ) FreeLibrary( handle );
+#else // WIN32
+ #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 )
+ #endif // DYNLOAD_LOCAL
+ #define GetProc dlsym
+ #define UnLoadLib( handle ) dlclose( handle );
+#endif // WIN32
#ifdef _DEBUG_
static int MYDEBUG = 0;
<source>CGNS_FILES_FILTER</source>
<translation>Fichiers CGNS</translation>
</message>
+ <message>
+ <source>CGNS_EXPORT_ELEMS_BY_TYPE</source>
+ <translation>Groupe les éléments par type</translation>
+ </message>
<message>
<source>GMF_ASCII_FILES_FILTER</source>
<translation>Fichiers GMF ASCII</translation>
<source>MEN_DEL_GROUP</source>
<translation>Supprimer les groupes et leur contenu</translation>
</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>
<source>MEN_FACE_ORIENTATION</source>
<translation>Orientation des faces</translation>
<source>SEPARATE_CORNERS_AND_MEDIUM</source>
<translation>Pas de fusion du coin et des noeuds moyens des cellules quadratiques</translation>
</message>
+ <message>
+ <source>AVOID_MAKING_HOLES</source>
+ <translation>Evite de créer des trous</translation>
+ </message>
<message>
<source>KEEP_NODES</source>
<translation>Les noeuds à conserver pendant la fusion</translation>
<source>SMESH_CREATE_GROUP_FROM_GEOM</source>
<translation>Créer des groupes à partir de la géométrie</translation>
</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>
<name>SMESHGUI_MeshOrderDlg</name>
<source>ELEM_MODE</source>
<translation>Elément</translation>
</message>
+ <message>
+ <source>SHOW_IDS</source>
+ <translation>Montre les IDs</translation>
+ </message>
<message>
<source>BUT_DUMP_MESH</source>
<translation>&Dump</translation>
<source>CGNS_FILES_FILTER</source>
<translation>CGNS ファイル</translation>
</message>
+ <message>
+ <source>CGNS_EXPORT_ELEMS_BY_TYPE</source>
+ <translation>タイプで要素をグループ化</translation>
+ </message>
<message>
<source>GMF_ASCII_FILES_FILTER</source>
<translation>GMFアスキーファイル</translation>
<source>MEN_DEL_GROUP</source>
<translation>グループとその内容を削除します。</translation>
</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>
<source>MEN_FACE_ORIENTATION</source>
<translation>フェースの向き</translation>
<source>MEN_QUADRATIC_PENTAHEDRON</source>
<translation>二次ウェッジ</translation>
</message>
+ <message>
+ <source>MEN_BIQUADRATIC_PENTAHEDRON</source>
+ <translation>4次五面体</translation>
+ </message>
<message>
<source>MEN_QUADRATIC_PYRAMID</source>
<translation>四角錐</translation>
<source>SMESH_ADD_QUADRATIC_PENTAHEDRON_TITLE</source>
<translation>二次くさびを追加します。</translation>
</message>
+ <message>
+ <source>SMESH_ADD_BIQUADRATIC_PENTAHEDRON_TITLE</source>
+ <translation>4次五面体の追加</translation>
+ </message>
<message>
<source>SMESH_ADD_QUADRATIC_PYRAMID_TITLE</source>
<translation>四角錐を追加します。</translation>
<source>SMESH_QUADRATIC_PENTAHEDRON</source>
<translation>二次ウェッジ</translation>
</message>
+ <message>
+ <source>SMESH_BIQUADRATIC_PENTAHEDRON</source>
+ <translation>4次五面体</translation>
+ </message>
<message>
<source>SMESH_QUADRATIC_PENTAHEDRONS</source>
<translation>二次ウェッジ</translation>
</message>
+ <message>
+ <source>SMESH_BIQUADRATIC_PENTAHEDRONS</source>
+ <translation>4次五面体</translation>
+ </message>
<message>
<source>SMESH_QUADRATIC_PYRAMID</source>
<translation>四角錐</translation>
<source>STB_QUADRATIC_PENTAHEDRON</source>
<translation>二次ウェッジ</translation>
</message>
+ <message>
+ <source>STB_BIQUADRATIC_PENTAHEDRON</source>
+ <translation>4次五面体</translation>
+ </message>
<message>
<source>STB_QUADRATIC_PYRAMID</source>
<translation>四角錐</translation>
<source>TOP_QUADRATIC_PENTAHEDRON</source>
<translation>二次ウェッジ</translation>
</message>
+ <message>
+ <source>TOP_BIQUADRATIC_PENTAHEDRON</source>
+ <translation>4次五面体</translation>
+ </message>
<message>
<source>TOP_QUADRATIC_PYRAMID</source>
<translation>四角錐</translation>
<source>SMESH_ADD_QUADRATIC_PENTAHEDRON</source>
<translation>二次くさびを追加します。</translation>
</message>
+ <message>
+ <source>SMESH_ADD_BIQUADRATIC_PENTAHEDRON</source>
+ <translation>4次五面体の追加</translation>
+ </message>
<message>
<source>SMESH_ADD_QUADRATIC_PYRAMID</source>
<translation>二次ピラミッドの追加</translation>
<source>SEPARATE_CORNERS_AND_MEDIUM</source>
<translation>2次セルのコーナ節点と中間節点をマージできません</translation>
</message>
+ <message>
+ <source>AVOID_MAKING_HOLES</source>
+ <translation>穴作成の回避</translation>
+ </message>
<message>
<source>KEEP_NODES</source>
<translation>維持節点</translation>
<translation>エンティティの種類</translation>
</message>
<message>
- <source>ENTITY_TYPE_0</source>
- <translation>NONE</translation>
+ <source>ENTITY_TYPE_0</source>
+ <translation>POINT1</translation>
</message>
<message>
- <source>ENTITY_TYPE_1</source>
- <translation>POINT1</translation>
+ <source>ENTITY_TYPE_1</source>
+ <translation>POINT1</translation>
</message>
<message>
- <source>ENTITY_TYPE_2</source>
- <translation>SEG2</translation>
+ <source>ENTITY_TYPE_2</source>
+ <translation>SEG2</translation>
</message>
<message>
- <source>ENTITY_TYPE_3</source>
- <translation>SEG3</translation>
+ <source>ENTITY_TYPE_3</source>
+ <translation>SEG3</translation>
</message>
<message>
- <source>ENTITY_TYPE_4</source>
- <translation>TRIA3</translation>
+ <source>ENTITY_TYPE_4</source>
+ <translation>TRIA3</translation>
</message>
<message>
- <source>ENTITY_TYPE_5</source>
- <translation>TRIA6</translation>
+ <source>ENTITY_TYPE_5</source>
+ <translation>TRIA6</translation>
</message>
<message>
- <source>ENTITY_TYPE_6</source>
- <translation>TRIA7</translation>
+ <source>ENTITY_TYPE_6</source>
+ <translation>QUAD4</translation>
</message>
<message>
- <source>ENTITY_TYPE_7</source>
- <translation>QUAD4</translation>
+ <source>ENTITY_TYPE_7</source>
+ <translation>QUAD8</translation>
</message>
<message>
- <source>ENTITY_TYPE_8</source>
- <translation>QUAD8</translation>
+ <source>ENTITY_TYPE_8</source>
+ <translation>QUAD9</translation>
</message>
<message>
- <source>ENTITY_TYPE_9</source>
- <translation>QUAD9</translation>
+ <source>ENTITY_TYPE_9</source>
+ <translation>TETRA4</translation>
</message>
<message>
- <source>ENTITY_TYPE_10</source>
- <translation>POLYGON</translation>
+ <source>ENTITY_TYPE_10</source>
+ <translation>TETRA10</translation>
</message>
<message>
- <source>ENTITY_TYPE_11</source>
- <translation>QPOLYGON</translation>
+ <source>ENTITY_TYPE_11</source>
+ <translation>PYRA5</translation>
</message>
<message>
- <source>ENTITY_TYPE_12</source>
- <translation>TETRA4</translation>
+ <source>ENTITY_TYPE_12</source>
+ <translation>PYRA13</translation>
</message>
<message>
- <source>ENTITY_TYPE_13</source>
- <translation>TETRA10</translation>
+ <source>ENTITY_TYPE_13</source>
+ <translation>PENTA6</translation>
</message>
<message>
- <source>ENTITY_TYPE_14</source>
- <translation>PYRA5</translation>
+ <source>ENTITY_TYPE_14</source>
+ <translation>PENTA15</translation>
</message>
<message>
- <source>ENTITY_TYPE_15</source>
- <translation>PYRA13</translation>
+ <source>ENTITY_TYPE_15</source>
+ <translation>HEXA8</translation>
</message>
<message>
- <source>ENTITY_TYPE_16</source>
- <translation>HEXA8</translation>
+ <source>ENTITY_TYPE_16</source>
+ <translation>HEXA20</translation>
</message>
<message>
- <source>ENTITY_TYPE_17</source>
- <translation>HEXA20</translation>
+ <source>ENTITY_TYPE_17</source>
+ <translation>HEXA27</translation>
</message>
<message>
- <source>ENTITY_TYPE_18</source>
- <translation>HEXA27</translation>
+ <source>ENTITY_TYPE_18</source>
+ <translation>OCTA12</translation>
</message>
<message>
- <source>ENTITY_TYPE_19</source>
- <translation>PENTA6</translation>
+ <source>ENTITY_TYPE_19</source>
+ <translation>ポリゴン</translation>
</message>
<message>
- <source>ENTITY_TYPE_20</source>
- <translation>PENTA15</translation>
+ <source>ENTITY_TYPE_20</source>
+ <translation>POLYEDRE</translation>
</message>
<message>
- <source>ENTITY_TYPE_21</source>
- <translation>PENTA18</translation>
+ <source>ENTITY_TYPE_21</source>
+ <translation>[なし]</translation>
</message>
<message>
- <source>ENTITY_TYPE_22</source>
- <translation>OCTA12</translation>
+ <source>ENTITY_TYPE_22</source>
+ <translation>ボール</translation>
</message>
<message>
- <source>ENTITY_TYPE_23</source>
- <translation>POLYEDRE</translation>
+ <source>ENTITY_TYPE_23</source>
+ <translation>QPOLYEDRE</translation>
</message>
<message>
- <source>ENTITY_TYPE_24</source>
- <translation>QPOLYEDRE</translation>
+ <source>ENTITY_TYPE_24</source>
+ <translation>ボール</translation>
</message>
<message>
- <source>ENTITY_TYPE_25</source>
- <translation>BALL</translation>
+ <source>ENTITY_TYPE_25</source>
+ <translation>ボール</translation>
</message>
<message>
<source>GEOM_TYPE</source>
<source>SMESH_CREATE_GROUP_FROM_GEOM</source>
<translation>ジオメトリからグループを作成</translation>
</message>
+ <message>
+ <source>ELEMENTS</source>
+ <translation>要素</translation>
+ </message>
+ <message>
+ <source>ELEMENTS_TOOLTIP</source>
+ <translation>0D要素がない</translation>
+ </message>
</context>
<context>
<name>SMESHGUI_MeshOrderDlg</name>
<source>ELEM_MODE</source>
<translation>要素</translation>
</message>
+ <message>
+ <source>SHOW_IDS</source>
+ <translation>IDの表示</translation>
+ </message>
<message>
<source>BUT_DUMP_MESH</source>
<translation>書き出し(&D)</translation>
#include <Utils_SALOME_Exception.hxx>
#include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx>
-#include <Basics_OCCTVersion.hxx>
#include <utilities.h>
// IMPORTANT: include this file _after_ OCC ones, else OCC_CATCH_SIGNALS can be undefined!
#include <unistd.h>
#endif
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis);
-OCCT_IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient);
+IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient);
+IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient);
+IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject);
+IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis);
using namespace std;
using SMESH::TPythonDump;
#include <vector>
#include <set>
-#include <Basics_OCCTVersion.hxx>
-
#include <SALOMEconfig.h>
#include CORBA_CLIENT_HEADER(SALOMEDS)
bool AddAccessorMethod( _pyID theObjectID, const char* theAcsMethod );
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyCommand,Standard_Transient)
+ DEFINE_STANDARD_RTTIEXT(_pyCommand,Standard_Transient)
};
// -------------------------------------------------------------------------------------
virtual void ClearCommands();
virtual void Free() {}
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyObject,Standard_Transient)
+ DEFINE_STANDARD_RTTIEXT(_pyObject,Standard_Transient)
};
// -------------------------------------------------------------------------------------
std::map< _AString, ExportedMeshData > myFile2ExportedMesh;
Handle( _pyHypothesisReader ) myHypReader;
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyGen,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pyGen,_pyObject)
};
// -------------------------------------------------------------------------------------
static void AddMeshAccess( const Handle(_pyCommand)& theCommand )
{ theCommand->SetObject( theCommand->GetObject() + "." _pyMesh_ACCESS_METHOD ); }
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
};
#undef _pyMesh_ACCESS_METHOD
virtual void Flush() {}
virtual bool CanClear();
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pyMesh,_pyObject)
};
// -------------------------------------------------------------------------------------
//void ComputeSaved ( const Handle(_pyCommand)& theComputeCommand );
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyHypothesis,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pyHypothesis,_pyObject)
};
// -------------------------------------------------------------------------------------
virtual const char* AccessorMethod() const { return "GetAlgorithm()"; }
virtual bool IsWrappable(const _pyID& theMesh) { return !myIsWrapped; }
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyAlgorithm,_pyHypothesis)
+ DEFINE_STANDARD_RTTIEXT(_pyAlgorithm,_pyHypothesis)
};
// -------------------------------------------------------------------------------------
virtual void Process( const Handle(_pyCommand)& theCommand);
virtual void Flush();
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis)
+ DEFINE_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis)
};
DEFINE_STANDARD_HANDLE (_pyComplexParamHypo, _pyHypothesis);
const _pyID& theMesh);
virtual void Free() { my1dHyp.Nullify(); }
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis)
+ DEFINE_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis)
};
DEFINE_STANDARD_HANDLE (_pyLayerDistributionHypo, _pyHypothesis);
const _pyID& theMesh);
void Flush();
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis)
+ DEFINE_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis)
};
DEFINE_STANDARD_HANDLE (_pyNumberOfSegmentsHyp, _pyHypothesis);
_pySegmentLengthAroundVertexHyp(const Handle(_pyCommand)& theCrCmd): _pyHypothesis(theCrCmd) {}
virtual bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
const _pyID& theMesh);
- OCCT_DEFINE_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis)
+ DEFINE_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis)
};
DEFINE_STANDARD_HANDLE (_pySegmentLengthAroundVertexHyp, _pyHypothesis);
virtual bool CanClear();
static bool IsAliveCmd( const Handle(_pyCommand)& theCmd );
- OCCT_DEFINE_STANDARD_RTTIEXT(_pySelfEraser,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pySelfEraser,_pyObject)
};
DEFINE_STANDARD_HANDLE (_pySelfEraser, _pyObject);
void SetCreator( const Handle(_pyObject)& theCreator ) { myCreator = theCreator; }
static bool CanBeArgOfMethod(const _AString& theMethodName);
- OCCT_DEFINE_STANDARD_RTTIEXT(_pySubMesh,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pySubMesh,_pyObject)
};
// -------------------------------------------------------------------------------------
/*!
//virtual void Free() { myUsers.clear(); }
const _pyID& GetNewID() const { return myNewID; }
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyFilter,_pyObject)
+ DEFINE_STANDARD_RTTIEXT(_pyFilter,_pyObject)
};
DEFINE_STANDARD_HANDLE (_pyFilter, _pyObject);
virtual bool CanClear();
void RemovedWithContents();
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyGroup,_pySubMesh)
+ DEFINE_STANDARD_RTTIEXT(_pyGroup,_pySubMesh)
};
// -------------------------------------------------------------------------------------
_pyHypothesisReader();
Handle(_pyHypothesis) GetHypothesis(const _AString& hypType,
const Handle(_pyCommand)& creationCmd) const;
- OCCT_DEFINE_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient)
+ DEFINE_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient)
};
#endif
switch (theVersion) {
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_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;
}
return *this;
#include <SALOMEDS_wrap.hxx>
#include <GEOM_wrap.hxx>
-#include <Basics_OCCTVersion.hxx>
-
#include <BRep_Tool.hxx>
#include <Geom_CylindricalSurface.hxx>
#include <Geom_Plane.hxx>
if ( myFileName == 0 || strlen( myFileName ) == 0 )
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;
fb.open( myFileName, std::ios::out );
aWriter.SetIndentation( 2 );
aWriter.Write( os, myDoc );
fb.close();
-#endif
TPythonDump()<<this<<".Save()";
return true;
#define LoadLib( name ) LoadLibrary( name )
#define GetProc GetProcAddress
#define UnLoadLib( handle ) FreeLibrary( handle );
-#else
+#else // WIN32
#define LibHandle void*
- #define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL )
+ #ifdef DYNLOAD_LOCAL
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_LOCAL )
+ #else // DYNLOAD_LOCAL
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY | RTLD_GLOBAL )
+ #endif // DYNLOAD_LOCAL
#define GetProc dlsym
#define UnLoadLib( handle ) dlclose( handle );
-#endif
+#endif // WIN32
#include "SMESH_Gen_i.hxx"
#include "SMESH_version.h"
theVersion = SMESH::MED_V2_1;
MED::EVersion aVersion = MED::GetVersionId( theFileName );
switch( aVersion ) {
- 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_1 : theVersion = SMESH::MED_V2_1; 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;
}
return false;
#include <Utils_CorbaException.hxx>
#include <SALOMEDS_wrap.hxx>
#include <SALOME_GenericObj_i.hh>
-#include <Basics_OCCTVersion.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <BRep_Tool.hxx>
#include <gp_Ax2.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>
-
-#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx>
-#endif
#include <sstream>
#include <limits>
};
gp_Trsf aTrsf;
-#if OCC_VERSION_LARGE > 0x06070100
// fight against orthogonalization
// aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]),
// 0, S[1], 0, thePoint.y * (1-S[1]),
thePoint.z * (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* workElements = &elements;
if ( myIsPreviewMode )
CORBA::Boolean autoDimension)
throw(SALOME::SALOME_Exception)
{
+ //MESSAGE("SMESH::MED_VERSION:"<< theVersion);
SMESH_TRY;
if ( _preMeshInfo )
_preMeshInfo->FullLoadFromFile();
SMESH::MED_VERSION theVersion)
throw(SALOME::SALOME_Exception)
{
+ //MESSAGE("SMESH::MED_VERSION:"<< theVersion);
ExportToMEDX(file,auto_groups,theVersion,true);
}
CORBA::Boolean auto_groups)
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);
}
//================================================================================
}
bool ok = false;
try {
-#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100
OCC_CATCH_SIGNALS;
-#endif
ok = myPattern.Apply( aMesh, fset, theNodeIndexOnKeyPoint1, theReverse );
}
catch (Standard_Failure& exc) {
# @param auto_groups boolean parameter for creating/not creating
# the groups Group_On_All_Nodes, Group_On_All_Faces, ... ;
# the typical use is auto_groups=False.
- # @param version MED format version (MED_V2_1 or MED_V2_2,
- # the latter meaning any current version). The parameter is
- # obsolete since MED_V2_1 is no longer supported.
+ # @param version MED format version
+ # - MED_V2_1 is obsolete.
+ # - 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 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
# - 'f' stands for "_faces _" field;
# - 's' stands for "_solids _" field.
# @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=''):
if meshPart or fields or geomAssocFields:
unRegister = genObjUnRegister()
# 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
# @param f the file name
- # @param version MED format version (MED_V2_1 or MED_V2_2,
- # the latter meaning any current version). The parameter is
- # obsolete since MED_V2_1 is no longer supported.
+ # @param version MED format version:
+ # - MED_V2_1 is obsolete.
+ # - 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
# the groups Group_On_All_Nodes, Group_On_All_Faces, ...
# @param overwrite boolean parameter for overwriting/not overwriting the file
# - 3D in the rest cases.<br>
# If @a autoDimension is @c False, the space dimension is always 3.
# @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)
# Operations with groups:
#include <utilities.h>
#include <Utils_ExceptHandlers.hxx>
-#include <Basics_OCCTVersion.hxx>
#include <GEOMUtils.hxx>
}
if ( surf->IsKind( STANDARD_TYPE(Geom_BSplineSurface )) ||
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 )
-#endif
isSafe = false;
double f, l;
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 )
-#endif
isSafe = false;
}
return isSafe;
#include <math_GaussSingleIntegration.hxx>
#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 <Expr_NamedUnknown.hxx>
-
-#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx>
-#endif
using namespace std;
bool ok = true;
if (myConv == 0) {
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
f = pow( 10., f );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
f = 0.0;
ok = false;
}
{
bool ok = true;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( ( Standard_CString )str );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
ok = false;
}
( ( TColStd_Array1OfReal& )myValues ).ChangeValue( 1 ) = t;
bool ok = true;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
f = myExpr->Expression()->Evaluate( myVars, myValues );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
f = 0.0;
ok = false;
}
{
double res = 0.0;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
math_GaussSingleIntegration _int
( *static_cast<math_Function*>( const_cast<FunctionExpr*> (this) ), a, b, 20 );
if( _int.IsDone() )
#include <TopExp.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>
-
-#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx>
-#endif
#include <Basics_Utils.hxx>
if( _convMode==0 )
{
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
val = pow( 10.0, val );
}
catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
throw SALOME_Exception( LOCALIZED( "invalid value"));
return;
}
bool parsed_ok = true;
Handle( ExprIntrp_GenExp ) myExpr;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( str.ToCString() );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
parsed_ok = false;
}
#include "StdMeshers_RadialPrism_3D.hxx"
-#include <Basics_OCCTVersion.hxx>
-
#include "StdMeshers_ProjectionUtils.hxx"
#include "StdMeshers_NumberOfLayers.hxx"
#include "StdMeshers_LayerDistribution.hxx"
#include <Expr_NamedUnknown.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>
-
-#ifdef NO_CAS_CATCH
#include <Standard_ErrorHandler.hxx>
-#endif
#ifdef WIN32
# include <algorithm>
x = y = 0;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
replot();
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
}
}
Kernel_Utils::Localizer loc;
bool parsed_ok = true;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
myExpr = ExprIntrp_GenExp::Create();
myExpr->Process( ( Standard_CString ) str.toLatin1().data() );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
parsed_ok = false;
}
ok = true;
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
res = myExpr->Expression()->Evaluate( myVars, myValues );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
ok = false;
res = 0.0;
}
case EXPONENT:
{
try {
-#ifdef NO_CAS_CATCH
OCC_CATCH_SIGNALS;
-#endif
// in StdMeshers_NumberOfSegments.cc
// const double PRECISION = 1e-7;
//
if(v < -7) v = -7.0;
v = pow( 10.0, v );
} catch(Standard_Failure) {
- Handle(Standard_Failure) aFail = Standard_Failure::Caught();
v = 0.0;
ok = false;
}
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+
IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC)
-INCLUDE(UsePyQt)
+IF(SALOME_BUILD_GUI)
+ INCLUDE(UsePyQt)
+ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
MGCleanerMonPlugDialog.py
MGCleanerMonViewText.py
MGCleanerplug_plugin.py
)
-# --- resources ---
-
-# uic files / to be processed by pyuic
-SET(_pyuic_files
- MGCleanerPlugDialog.ui
- MGCleanerViewText.ui
-)
-
-# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+IF(SALOME_BUILD_GUI)
+ # uic files / to be processed by pyuic
+ SET(_pyuic_FILES
+ MGCleanerPlugDialog.ui
+ MGCleanerViewText.ui
+ )
+ # scripts / pyuic wrappings
+ PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
+ENDIF(SALOME_BUILD_GUI)
# --- rules ---
-SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
+SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
IF(SALOME_BUILD_GUI)
- SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
-ENDIF(SALOME_BUILD_GUI)
\ No newline at end of file
+ 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)
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
meshcut_plugin.py
)
)
IF(SALOME_BUILD_GUI)
- # --- resources ---
-
# uic files / to be processed by pyuic
- SET(_pyuic_files
+ SET(_pyuic_FILES
MeshCutDialog.ui
)
-
# 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 ---
-SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
+SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES})
TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES})
INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
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)
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
maFenetreChoix.py
monEditor.py
monNomBase.py
__init__.py
)
-# --- resources ---
-
# uic files / to be processed by pyuic
-SET(_pyuic_files
+SET(_pyuic_FILES
desFenetreChoix.ui
desStat.ui
myMainTotale.ui
nomBase.ui
tousLesJobs.ui
)
-
# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- 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})
ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC)
-INCLUDE(UsePyQt)
+IF(SALOME_BUILD_GUI)
+ INCLUDE(UsePyQt)
+ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
monYamsPlugDialog.py
monViewText.py
yamsplug_plugin.py
)
-# --- resources ---
-
-# uic files / to be processed by pyuic
-SET(_pyuic_files
- YamsPlugDialog.ui
- ViewText.ui
-)
-
-# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+IF(SALOME_BUILD_GUI)
+ # uic files / to be processed by pyuic
+ SET(_pyuic_FILES
+ YamsPlugDialog.ui
+ ViewText.ui
+ )
+ # scripts / pyuic wrappings
+ PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
+ENDIF(SALOME_BUILD_GUI)
# --- 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})
\ No newline at end of file
+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)
ADD_SUBDIRECTORY(casTests)
-INCLUDE(UsePyQt)
+IF(SALOME_BUILD_GUI)
+ INCLUDE(UsePyQt)
+ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
__init__.py
ellipse.py
genereCrack.py
Zset.py
)
-SET(command_SCRIPTS
+SET(_command_SCRIPTS
zcracksLaunch.py
)
-# --- resources ---
-
-# uic files / to be processed by pyuic
-SET(_pyuic_files
- zcracks.ui
-)
-
-# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+IF(SALOME_BUILD_GUI)
+ # uic files / to be processed by pyuic
+ SET(_pyuic_FILES
+ zcracks.ui
+ )
+ # scripts / pyuic wrappings
+ PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
+ENDIF(SALOME_BUILD_GUI)
# --- rules ---
-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("${_plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks)
+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)
+
# --- scripts ---
# scripts / static
-SET(plugin_SCRIPTS
+SET(_plugin_SCRIPTS
__init__.py
fissureCoude_ihm.py
fissureCoude_plugin.py
dialogFissureCoude.dic
)
-# --- resources ---
-
# uic files / to be processed by pyuic
-SET(_pyuic_files
+SET(_pyuic_FILES
fissureCoude.ui
fissureGenerale.ui
)
-
# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- 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})
# --- scripts ---
# scripts / static
-SET(py_SCRIPTS
+SET(_py_SCRIPTS
__init__.py
plugindialog.py
inputdialog.py
# --- resources ---
# uic files / to be processed by pyuic
-SET(spadderpy_DATA
+SET(_spadderpy_DATA
parameters.png
input.png
select.png
steelbar.png
)
-SET(_pyuic_files
+SET(_pyuic_FILES
plugindialog.ui
inputframe.ui
)
# scripts / pyuic wrappings
-PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
+PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules ---
-SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
-SALOME_INSTALL_SCRIPTS("${py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
-INSTALL(FILES ${spadderpy_DATA} DESTINATION ${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)
+# 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})
+
+SALOME_INSTALL_SCRIPTS("${_py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
+
+INSTALL(FILES ${_spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)