mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-12 01:30:34 +05:00
Issue 0020514: EDF 1110 SMESH : Export many meshes in one Med File
This commit is contained in:
parent
238796e3d8
commit
6c4be33671
@ -339,6 +339,16 @@ module SMESH
|
|||||||
* Can be used to check if the object was created in the same container, as this engine.
|
* Can be used to check if the object was created in the same container, as this engine.
|
||||||
*/
|
*/
|
||||||
long GetObjectId(in Object theObject);
|
long GetObjectId(in Object theObject);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Get MED version of the file by its name.
|
||||||
|
*/
|
||||||
|
boolean GetMEDVersion(in string theFileName, out MED_VERSION theVersion);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Get names of meshes defined in file with the specified name.
|
||||||
|
*/
|
||||||
|
string_array GetMeshNames(in string theFileName);
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -532,13 +532,23 @@ module SMESH
|
|||||||
* 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.
|
||||||
* - theVersion : define the version of format of MED file, that will be created
|
* - theVersion : define the version of format of MED file, that will be created
|
||||||
|
* - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists
|
||||||
|
*/
|
||||||
|
void ExportToMEDX( in string file, in boolean auto_groups, in MED_VERSION theVersion, in boolean overwrite )
|
||||||
|
raises (SALOME::SALOME_Exception);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Export Mesh to different MED Formats
|
||||||
|
* Works, just the same as ExportToMEDX, with overwrite parameter equal to true.
|
||||||
|
* The method is kept in order to support old functionality
|
||||||
*/
|
*/
|
||||||
void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion )
|
void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion )
|
||||||
raises (SALOME::SALOME_Exception);
|
raises (SALOME::SALOME_Exception);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Export Mesh to MED_V2_1 MED format
|
* Export Mesh to MED_V2_1 MED format
|
||||||
* Works, just the same as ExportToMED, with MED_VERSION parameter equal to MED_V2_1.
|
* Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1
|
||||||
|
* 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
|
||||||
*/
|
*/
|
||||||
void ExportMED( in string file, in boolean auto_groups )
|
void ExportMED( in string file, in boolean auto_groups )
|
||||||
|
@ -95,6 +95,7 @@ salomeinclude_HEADERS = \
|
|||||||
SMESHGUI_FindElemByPointDlg.h \
|
SMESHGUI_FindElemByPointDlg.h \
|
||||||
SMESHGUI_MeshOrderDlg.h \
|
SMESHGUI_MeshOrderDlg.h \
|
||||||
SMESHGUI_MeshOrderOp.h \
|
SMESHGUI_MeshOrderOp.h \
|
||||||
|
SMESHGUI_FileValidator.h \
|
||||||
SMESH_SMESHGUI.hxx
|
SMESH_SMESHGUI.hxx
|
||||||
|
|
||||||
# Libraries targets
|
# Libraries targets
|
||||||
@ -166,7 +167,8 @@ dist_libSMESH_la_SOURCES = \
|
|||||||
SMESHGUI_MeshInfosBox.cxx \
|
SMESHGUI_MeshInfosBox.cxx \
|
||||||
SMESHGUI_Make2DFrom3DOp.cxx \
|
SMESHGUI_Make2DFrom3DOp.cxx \
|
||||||
SMESHGUI_MeshOrderDlg.cxx \
|
SMESHGUI_MeshOrderDlg.cxx \
|
||||||
SMESHGUI_MeshOrderOp.cxx
|
SMESHGUI_MeshOrderOp.cxx \
|
||||||
|
SMESHGUI_FileValidator.cxx
|
||||||
|
|
||||||
MOC_FILES = \
|
MOC_FILES = \
|
||||||
SMESHGUI_moc.cxx \
|
SMESHGUI_moc.cxx \
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "SMESHGUI_ExtrusionAlongPathDlg.h"
|
#include "SMESHGUI_ExtrusionAlongPathDlg.h"
|
||||||
#include "SMESHGUI_ExtrusionDlg.h"
|
#include "SMESHGUI_ExtrusionDlg.h"
|
||||||
#include "SMESHGUI_FileInfoDlg.h"
|
#include "SMESHGUI_FileInfoDlg.h"
|
||||||
|
#include "SMESHGUI_FileValidator.h"
|
||||||
#include "SMESHGUI_FilterDlg.h"
|
#include "SMESHGUI_FilterDlg.h"
|
||||||
#include "SMESHGUI_FilterLibraryDlg.h"
|
#include "SMESHGUI_FilterLibraryDlg.h"
|
||||||
#include "SMESHGUI_FindElemByPointDlg.h"
|
#include "SMESHGUI_FindElemByPointDlg.h"
|
||||||
@ -272,17 +273,54 @@
|
|||||||
if( aSel )
|
if( aSel )
|
||||||
aSel->selectedObjects( selected );
|
aSel->selectedObjects( selected );
|
||||||
|
|
||||||
SMESH::SMESH_Mesh_var aMesh;
|
// actually, the following condition can't be met (added for insurance)
|
||||||
if(selected.Extent() == 1)
|
if( selected.Extent() == 0 ||
|
||||||
aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(selected.First());
|
selected.Extent() > 1 && theCommandID != 122 && theCommandID != 125 )
|
||||||
if ( aMesh->_is_nil() ) {
|
|
||||||
SUIT_MessageBox::warning( SMESHGUI::desktop(),
|
|
||||||
QObject::tr( "SMESH_WRN_WARNING" ),
|
|
||||||
QObject::tr( "SMESH_BAD_MESH_SELECTION" ));
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
bool hasDuplicatedMeshNames = false;
|
||||||
|
QList< QPair< SMESH::SMESH_Mesh_var, QString > > aMeshList;
|
||||||
|
QList< QPair< SMESH::SMESH_Mesh_var, QString > >::iterator aMeshIter;
|
||||||
|
SALOME_ListIteratorOfListIO It( selected );
|
||||||
|
for( ; It.More(); It.Next() ) {
|
||||||
|
Handle(SALOME_InteractiveObject) anIObject = It.Value();
|
||||||
|
SMESH::SMESH_Mesh_var aMeshItem = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>( anIObject );
|
||||||
|
if ( aMeshItem->_is_nil() ) {
|
||||||
|
SUIT_MessageBox::warning( SMESHGUI::desktop(),
|
||||||
|
QObject::tr( "SMESH_WRN_WARNING" ),
|
||||||
|
QObject::tr( "SMESH_BAD_MESH_SELECTION" ));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString aMeshName = anIObject->getName();
|
||||||
|
|
||||||
|
// check for duplications
|
||||||
|
for( aMeshIter = aMeshList.begin(); aMeshIter != aMeshList.end(); aMeshIter++ ) {
|
||||||
|
if( aMeshName == (*aMeshIter).second ) {
|
||||||
|
hasDuplicatedMeshNames = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
aMeshList.append( QPair< SMESH::SMESH_Mesh_var, QString >( aMeshItem, aMeshName ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(SALOME_InteractiveObject) anIObject = selected.First();
|
if( hasDuplicatedMeshNames ) {
|
||||||
|
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
|
||||||
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
|
QObject::tr("SMESH_EXPORT_MED_DUPLICATED_MESH_NAMES"),
|
||||||
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet != 0)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
aMeshIter = aMeshList.begin();
|
||||||
|
SMESH::SMESH_Mesh_var aMesh = (*aMeshIter).first;
|
||||||
|
QString aMeshName = (*aMeshIter).second;
|
||||||
|
|
||||||
|
QList<SALOMEDS::Color> aReservedColors;
|
||||||
|
|
||||||
QString aFilter, aTitle = QObject::tr("Export mesh");
|
QString aFilter, aTitle = QObject::tr("Export mesh");
|
||||||
QMap<QString, SMESH::MED_VERSION> aFilterMap;
|
QMap<QString, SMESH::MED_VERSION> aFilterMap;
|
||||||
QMap<QString, int> aFilterMapSTL;
|
QMap<QString, int> aFilterMapSTL;
|
||||||
@ -290,14 +328,18 @@
|
|||||||
case 125:
|
case 125:
|
||||||
case 122:
|
case 122:
|
||||||
{
|
{
|
||||||
if (aMesh->HasDuplicatedGroupNamesMED()) {
|
for( aMeshIter = aMeshList.begin(); aMeshIter != aMeshList.end(); aMeshIter++ ) {
|
||||||
int aRet = SUIT_MessageBox::warning
|
SMESH::SMESH_Mesh_var aMeshItem = (*aMeshIter).first;
|
||||||
(SMESHGUI::desktop(),
|
if (aMeshItem->HasDuplicatedGroupNamesMED()) {
|
||||||
QObject::tr("SMESH_WRN_WARNING"),
|
int aRet = SUIT_MessageBox::warning
|
||||||
QObject::tr("SMESH_EXPORT_MED_DUPLICATED_GRP").arg(anIObject->getName()),
|
(SMESHGUI::desktop(),
|
||||||
SUIT_MessageBox::Yes | SUIT_MessageBox::No, SUIT_MessageBox::Yes);
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
if (aRet != SUIT_MessageBox::Yes)
|
QObject::tr("SMESH_EXPORT_MED_DUPLICATED_GRP").arg((*aMeshIter).second),
|
||||||
return;
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet != 0)
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// PAL18696
|
// PAL18696
|
||||||
QString v21 (aMesh->GetVersionString(SMESH::MED_V2_1, 2));
|
QString v21 (aMesh->GetVersionString(SMESH::MED_V2_1, 2));
|
||||||
@ -317,9 +359,10 @@
|
|||||||
int aRet = SUIT_MessageBox::warning
|
int aRet = SUIT_MessageBox::warning
|
||||||
(SMESHGUI::desktop(),
|
(SMESHGUI::desktop(),
|
||||||
QObject::tr("SMESH_WRN_WARNING"),
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
QObject::tr("SMESH_EXPORT_UNV").arg(anIObject->getName()),
|
QObject::tr("SMESH_EXPORT_UNV").arg(aMeshName),
|
||||||
SUIT_MessageBox::Yes | SUIT_MessageBox::No, SUIT_MessageBox::Yes);
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
if (aRet != SUIT_MessageBox::Yes)
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet != 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
aFilter = QObject::tr("IDEAS files (*.unv)");
|
aFilter = QObject::tr("IDEAS files (*.unv)");
|
||||||
@ -336,16 +379,17 @@
|
|||||||
SUIT_MessageBox::warning
|
SUIT_MessageBox::warning
|
||||||
(SMESHGUI::desktop(),
|
(SMESHGUI::desktop(),
|
||||||
QObject::tr("SMESH_WRN_WARNING"),
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
QObject::tr("SMESH_EXPORT_STL1").arg(anIObject->getName()));
|
QObject::tr("SMESH_EXPORT_STL1").arg(aMeshName));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!(aMesh->NbElements() - aMesh->NbTriangles())) {
|
if (!(aMesh->NbElements() - aMesh->NbTriangles())) {
|
||||||
int aRet = SUIT_MessageBox::warning
|
int aRet = SUIT_MessageBox::warning
|
||||||
(SMESHGUI::desktop(),
|
(SMESHGUI::desktop(),
|
||||||
QObject::tr("SMESH_WRN_WARNING"),
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
QObject::tr("SMESH_EXPORT_STL2").arg(anIObject->getName()),
|
QObject::tr("SMESH_EXPORT_STL2").arg(aMeshName),
|
||||||
SUIT_MessageBox::Yes | SUIT_MessageBox::No, SUIT_MessageBox::Yes);
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
if (aRet != SUIT_MessageBox::Yes)
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet != 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,6 +409,7 @@
|
|||||||
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
|
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
|
||||||
if ( resMgr )
|
if ( resMgr )
|
||||||
toCreateGroups = resMgr->booleanValue( "SMESH", "auto_groups", false );
|
toCreateGroups = resMgr->booleanValue( "SMESH", "auto_groups", false );
|
||||||
|
bool toOverwrite = true;
|
||||||
|
|
||||||
QString anInitialPath = "";
|
QString anInitialPath = "";
|
||||||
if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() )
|
if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() )
|
||||||
@ -372,7 +417,7 @@
|
|||||||
|
|
||||||
if ( theCommandID != 122 && theCommandID != 125 && theCommandID != 140 && theCommandID != 141) {
|
if ( theCommandID != 122 && theCommandID != 125 && theCommandID != 140 && theCommandID != 141) {
|
||||||
if ( anInitialPath.isEmpty() ) anInitialPath = SUIT_FileDlg::getLastVisitedPath();
|
if ( anInitialPath.isEmpty() ) anInitialPath = SUIT_FileDlg::getLastVisitedPath();
|
||||||
aFilename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), anInitialPath + QString("/") + anIObject->getName(),
|
aFilename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), anInitialPath + QString("/") + aMeshName,
|
||||||
aFilter, aTitle, false);
|
aFilter, aTitle, false);
|
||||||
}
|
}
|
||||||
else if(theCommandID == 140 || theCommandID == 141) { // Export to STL
|
else if(theCommandID == 140 || theCommandID == 141) { // Export to STL
|
||||||
@ -387,7 +432,7 @@
|
|||||||
fd->selectFilter( QObject::tr("STL ASCII (*.stl)") );
|
fd->selectFilter( QObject::tr("STL ASCII (*.stl)") );
|
||||||
if ( !anInitialPath.isEmpty() )
|
if ( !anInitialPath.isEmpty() )
|
||||||
fd->setDirectory( anInitialPath );
|
fd->setDirectory( anInitialPath );
|
||||||
fd->selectFile(anIObject->getName());
|
fd->selectFile(aMeshName);
|
||||||
bool is_ok = false;
|
bool is_ok = false;
|
||||||
while (!is_ok) {
|
while (!is_ok) {
|
||||||
if ( fd->exec() )
|
if ( fd->exec() )
|
||||||
@ -417,22 +462,79 @@
|
|||||||
fd->SetChecked(toCreateGroups);
|
fd->SetChecked(toCreateGroups);
|
||||||
if ( !anInitialPath.isEmpty() )
|
if ( !anInitialPath.isEmpty() )
|
||||||
fd->setDirectory( anInitialPath );
|
fd->setDirectory( anInitialPath );
|
||||||
fd->selectFile(anIObject->getName());
|
fd->selectFile(aMeshName);
|
||||||
|
|
||||||
|
SMESHGUI_FileValidator* fv = new SMESHGUI_FileValidator( fd );
|
||||||
|
fd->setValidator( fv );
|
||||||
|
|
||||||
bool is_ok = false;
|
bool is_ok = false;
|
||||||
while (!is_ok) {
|
while (!is_ok) {
|
||||||
if ( fd->exec() )
|
if ( fd->exec() )
|
||||||
aFilename = fd->selectedFile();
|
aFilename = fd->selectedFile();
|
||||||
|
else {
|
||||||
|
aFilename = QString::null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
aFormat = aFilterMap[fd->selectedFilter()];
|
aFormat = aFilterMap[fd->selectedFilter()];
|
||||||
|
toOverwrite = fv->isOverwrite();
|
||||||
is_ok = true;
|
is_ok = true;
|
||||||
if ( !aFilename.isEmpty()
|
if ( !aFilename.isEmpty() ) {
|
||||||
&& (aMesh->NbPolygons()>0 || aMesh->NbPolyhedrons()>0)
|
for( aMeshIter = aMeshList.begin(); aMeshIter != aMeshList.end(); aMeshIter++ ) {
|
||||||
&& aFormat==SMESH::MED_V2_1) {
|
SMESH::SMESH_Mesh_var aMeshItem = (*aMeshIter).first;
|
||||||
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
|
if( (aMeshItem->NbPolygons()>0 || aMeshItem->NbPolyhedrons()>0)
|
||||||
QObject::tr("SMESH_WRN_WARNING"),
|
&& aFormat==SMESH::MED_V2_1) {
|
||||||
QObject::tr("SMESH_EXPORT_MED_V2_1").arg(anIObject->getName()),
|
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
|
||||||
SUIT_MessageBox::Yes | SUIT_MessageBox::No, SUIT_MessageBox::Yes);
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
if (aRet != SUIT_MessageBox::Yes) {
|
QObject::tr("SMESH_EXPORT_MED_V2_1").arg((*aMeshIter).second),
|
||||||
is_ok = false;
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet != 0) {
|
||||||
|
is_ok = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( !toOverwrite ) {
|
||||||
|
SMESH::MED_VERSION aVersion = SMESH::MED_V2_1;
|
||||||
|
bool isVersionOk = SMESHGUI::GetSMESHGen()->GetMEDVersion( aFilename.toLatin1().constData(), aVersion );
|
||||||
|
if( !isVersionOk || aVersion != aFormat ) {
|
||||||
|
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
|
||||||
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
|
QObject::tr("SMESH_EXPORT_MED_VERSION_COLLISION").arg(aFilename),
|
||||||
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
|
QObject::tr("SMESH_BUT_NO"), 0, 1);
|
||||||
|
if (aRet == 0)
|
||||||
|
toOverwrite = true;
|
||||||
|
else
|
||||||
|
is_ok = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList aMeshNamesCollisionList;
|
||||||
|
SMESH::string_array_var aMeshNames = SMESHGUI::GetSMESHGen()->GetMeshNames( aFilename.toLatin1().constData() );
|
||||||
|
for( int i = 0, n = aMeshNames->length(); i < n; i++ ) {
|
||||||
|
QString anExistingMeshName( aMeshNames[ i ] );
|
||||||
|
for( aMeshIter = aMeshList.begin(); aMeshIter != aMeshList.end(); aMeshIter++ ) {
|
||||||
|
QString anExportMeshName = (*aMeshIter).second;
|
||||||
|
if( anExportMeshName == anExistingMeshName ) {
|
||||||
|
aMeshNamesCollisionList.append( anExportMeshName );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( !aMeshNamesCollisionList.isEmpty() ) {
|
||||||
|
QString aMeshNamesCollisionString = aMeshNamesCollisionList.join( ", " );
|
||||||
|
int aRet = SUIT_MessageBox::warning(SMESHGUI::desktop(),
|
||||||
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
|
QObject::tr("SMESH_EXPORT_MED_MESH_NAMES_COLLISION").arg(aMeshNamesCollisionString),
|
||||||
|
QObject::tr("SMESH_BUT_YES"),
|
||||||
|
QObject::tr("SMESH_BUT_NO"),
|
||||||
|
QObject::tr("SMESH_BUT_CANCEL"), 0, 2);
|
||||||
|
if (aRet == 0)
|
||||||
|
toOverwrite = true;
|
||||||
|
else if (aRet == 2)
|
||||||
|
is_ok = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -442,7 +544,7 @@
|
|||||||
if ( !aFilename.isEmpty() ) {
|
if ( !aFilename.isEmpty() ) {
|
||||||
// Check whether the file already exists and delete it if yes
|
// Check whether the file already exists and delete it if yes
|
||||||
QFile aFile( aFilename );
|
QFile aFile( aFilename );
|
||||||
if ( aFile.exists() )
|
if ( aFile.exists() && toOverwrite )
|
||||||
aFile.remove();
|
aFile.remove();
|
||||||
SUIT_OverrideCursor wc;
|
SUIT_OverrideCursor wc;
|
||||||
|
|
||||||
@ -460,8 +562,14 @@
|
|||||||
}
|
}
|
||||||
switch ( theCommandID ) {
|
switch ( theCommandID ) {
|
||||||
case 125:
|
case 125:
|
||||||
case 122:
|
case 122: {
|
||||||
aMesh->ExportToMED( aFilename.toLatin1().data(), toCreateGroups, aFormat );
|
int aMeshIndex = 0;
|
||||||
|
for( aMeshIter = aMeshList.begin(); aMeshIter != aMeshList.end(); aMeshIter++, aMeshIndex++ ) {
|
||||||
|
SMESH::SMESH_Mesh_var aMeshItem = (*aMeshIter).first;
|
||||||
|
if( !aMeshItem->_is_nil() )
|
||||||
|
aMeshItem->ExportToMEDX( aFilename.toLatin1().data(), toCreateGroups, aFormat, toOverwrite && aMeshIndex == 0 );
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 124:
|
case 124:
|
||||||
case 121:
|
case 121:
|
||||||
@ -3135,8 +3243,9 @@ void SMESHGUI::initialize( CAM_Application* app )
|
|||||||
popupMgr()->insert( separator(), -1, 0 );
|
popupMgr()->insert( separator(), -1, 0 );
|
||||||
|
|
||||||
QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc );
|
QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc );
|
||||||
|
QString multiple_non_empty = QString( " && %1>0 && numberOfNodes>0" ).arg( dc );
|
||||||
|
|
||||||
createPopupItem( 125, OB, mesh, only_one_non_empty ); // EXPORT_MED
|
createPopupItem( 125, OB, mesh, multiple_non_empty ); // EXPORT_MED
|
||||||
createPopupItem( 126, OB, mesh, only_one_non_empty ); // EXPORT_UNV
|
createPopupItem( 126, OB, mesh, only_one_non_empty ); // EXPORT_UNV
|
||||||
createPopupItem( 141, OB, mesh, only_one_non_empty ); // EXPORT_STL
|
createPopupItem( 141, OB, mesh, only_one_non_empty ); // EXPORT_STL
|
||||||
//createPopupItem( 33, OB, subMesh + " " + group ); // DELETE
|
//createPopupItem( 33, OB, subMesh + " " + group ); // DELETE
|
||||||
|
76
src/SMESHGUI/SMESHGUI_FileValidator.cxx
Executable file
76
src/SMESHGUI/SMESHGUI_FileValidator.cxx
Executable file
@ -0,0 +1,76 @@
|
|||||||
|
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
//
|
||||||
|
// SMESH SMESHGUI : GUI for SMESH component
|
||||||
|
// File : SMESHGUI_FileValidator.cxx
|
||||||
|
// Author : Oleg UVAROV
|
||||||
|
// SMESH includes
|
||||||
|
//
|
||||||
|
#include "SMESHGUI_FileValidator.h"
|
||||||
|
|
||||||
|
// SALOME GUI includes
|
||||||
|
#include <SUIT_MessageBox.h>
|
||||||
|
#include <SUIT_Tools.h>
|
||||||
|
|
||||||
|
// Qt includes
|
||||||
|
#include <QFileInfo>
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : SMESHGUI_FileValidator
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
SMESHGUI_FileValidator::SMESHGUI_FileValidator( QWidget* parent )
|
||||||
|
: SUIT_FileValidator( parent ),
|
||||||
|
myIsOverwrite( true )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : canSave
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
bool SMESHGUI_FileValidator::canSave( const QString& fileName, bool checkPermission )
|
||||||
|
{
|
||||||
|
if ( QFile::exists( fileName ) ) {
|
||||||
|
if ( parent() ) {
|
||||||
|
int anAnswer = SUIT_MessageBox::question( parent(), QObject::tr( "SMESH_WRN_WARNING" ),
|
||||||
|
QObject::tr( "SMESH_FILE_EXISTS" ).arg( fileName ),
|
||||||
|
QObject::tr( "SMESH_BUT_OVERWRITE" ),
|
||||||
|
QObject::tr( "SMESH_BUT_ADD" ),
|
||||||
|
QObject::tr( "SMESH_BUT_CANCEL" ), 0, 2 );
|
||||||
|
if( anAnswer == 2 )
|
||||||
|
return false;
|
||||||
|
myIsOverwrite = anAnswer == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// copied from SUIT_FileValidator
|
||||||
|
if ( checkPermission && !QFileInfo( fileName ).isWritable() ) {
|
||||||
|
if ( parent() )
|
||||||
|
SUIT_MessageBox::critical( parent(), QObject::tr( "SMESH_ERROR" ),
|
||||||
|
QObject::tr( "NO_PERMISSION" ).arg( fileName ) );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return SUIT_FileValidator::canSave( fileName, checkPermission );
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
48
src/SMESHGUI/SMESHGUI_FileValidator.h
Executable file
48
src/SMESHGUI/SMESHGUI_FileValidator.h
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
//
|
||||||
|
// SMESH SMESHGUI : GUI for SMESH component
|
||||||
|
// File : SMESHGUI_FileValidator.h
|
||||||
|
// Author : Oleg UVAROV
|
||||||
|
//
|
||||||
|
#ifndef SMESHGUI_FILEVALIDATOR_H
|
||||||
|
#define SMESHGUI_FILEVALIDATOR_H
|
||||||
|
|
||||||
|
// SMESH includes
|
||||||
|
#include "SMESH_SMESHGUI.hxx"
|
||||||
|
|
||||||
|
// SALOME GUI includes
|
||||||
|
#include <SUIT_FileValidator.h>
|
||||||
|
|
||||||
|
class SMESHGUI_EXPORT SMESHGUI_FileValidator : public SUIT_FileValidator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SMESHGUI_FileValidator( QWidget* = 0 );
|
||||||
|
|
||||||
|
virtual bool canSave( const QString&, bool = true );
|
||||||
|
|
||||||
|
bool isOverwrite() const { return myIsOverwrite; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool myIsOverwrite;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SMESHGUI_FILEVALIDATOR_H
|
@ -969,6 +969,10 @@ Please enter correct values and try again</translation>
|
|||||||
<source>SMESH_BUT_OK</source>
|
<source>SMESH_BUT_OK</source>
|
||||||
<translation>&Ok</translation>
|
<translation>&Ok</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>SMESH_BUT_OVERWRITE</source>
|
||||||
|
<translation>Over&write</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SMESH_BUT_APPLY_AND_CLOSE</source>
|
<source>SMESH_BUT_APPLY_AND_CLOSE</source>
|
||||||
<translation>A&pply and Close</translation>
|
<translation>A&pply and Close</translation>
|
||||||
@ -1175,6 +1179,12 @@ Probably, there is not enough space on disk.</translation>
|
|||||||
You can cancel exporting and rename them,
|
You can cancel exporting and rename them,
|
||||||
otherwise some group names in the resulting MED file
|
otherwise some group names in the resulting MED file
|
||||||
will not match ones in the study.
|
will not match ones in the study.
|
||||||
|
Do you want to continue ?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>SMESH_EXPORT_MED_DUPLICATED_MESH_NAMES</source>
|
||||||
|
<translation>There are some meshes with the same names in the selection.
|
||||||
|
The result file may be incorrect.
|
||||||
Do you want to continue ?</translation>
|
Do you want to continue ?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
@ -1183,6 +1193,19 @@ Do you want to continue ?</translation>
|
|||||||
polygons and polyhedrons elements will be missed
|
polygons and polyhedrons elements will be missed
|
||||||
For correct export use MED 2.2
|
For correct export use MED 2.2
|
||||||
Are you sure want to export to MED 2.1 ?</translation>
|
Are you sure want to export to MED 2.1 ?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>SMESH_EXPORT_MED_VERSION_COLLISION</source>
|
||||||
|
<translation>MED version of the file "%1"
|
||||||
|
is unknown or doesn't match the selected version.
|
||||||
|
Overwrite the file?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>SMESH_EXPORT_MED_MESH_NAMES_COLLISION</source>
|
||||||
|
<translation>The selected file already contains
|
||||||
|
meshes with the following names: %1
|
||||||
|
The result file may be incorrect.
|
||||||
|
Overwrite the file?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SMESH_EXPORT_STL1</source>
|
<source>SMESH_EXPORT_STL1</source>
|
||||||
@ -1221,6 +1244,12 @@ Are you sure want to export to MED 2.1 ?</translation>
|
|||||||
<source>SMESH_FEATUREEDGES</source>
|
<source>SMESH_FEATUREEDGES</source>
|
||||||
<translation>Feature Edges</translation>
|
<translation>Feature Edges</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>SMESH_FILE_EXISTS</source>
|
||||||
|
<translation>The file "%1" already exists.
|
||||||
|
Do you want to overwrite it or
|
||||||
|
add the exported data to its contents?</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>SMESH_FONT_ARIAL</source>
|
<source>SMESH_FONT_ARIAL</source>
|
||||||
<translation>Arial</translation>
|
<translation>Arial</translation>
|
||||||
|
@ -846,7 +846,8 @@ void _pyMesh::Process( const Handle(_pyCommand)& theCommand )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
else if ( method == "ExportToMED" ) { // ExportToMED() --> ExportMED()
|
else if ( method == "ExportToMED" || // ExportToMED() --> ExportMED()
|
||||||
|
method == "ExportToMEDX" ) { // ExportToMEDX() --> ExportMED()
|
||||||
theCommand->SetMethod( "ExportMED" );
|
theCommand->SetMethod( "ExportMED" );
|
||||||
}
|
}
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
|
@ -2193,6 +2193,49 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::mesh_array& theMeshesArray,
|
|||||||
return aNewMesh._retn();
|
return aNewMesh._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* SMESH_Gen_i::GetMEDVersion
|
||||||
|
*
|
||||||
|
* Get MED version of the file by its name
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
CORBA::Boolean SMESH_Gen_i::GetMEDVersion(const char* theFileName,
|
||||||
|
SMESH::MED_VERSION& theVersion)
|
||||||
|
{
|
||||||
|
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::eVUnknown : return false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* SMESH_Gen_i::GetMeshNames
|
||||||
|
*
|
||||||
|
* Get names of meshes defined in file with the specified name
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
SMESH::string_array* SMESH_Gen_i::GetMeshNames(const char* theFileName)
|
||||||
|
{
|
||||||
|
SMESH::string_array_var aResult = new SMESH::string_array();
|
||||||
|
MED::PWrapper aMed = MED::CrWrapper( theFileName );
|
||||||
|
MED::TErr anErr;
|
||||||
|
MED::TInt aNbMeshes = aMed->GetNbMeshes( &anErr );
|
||||||
|
if( anErr >= 0 ) {
|
||||||
|
aResult->length( aNbMeshes );
|
||||||
|
for( MED::TInt i = 0; i < aNbMeshes; i++ ) {
|
||||||
|
MED::PMeshInfo aMeshInfo = aMed->GetPMeshInfo( i+1 );
|
||||||
|
aResult[i] = CORBA::string_dup( aMeshInfo->GetName().c_str() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return aResult._retn();
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* SMESH_Gen_i::Save
|
* SMESH_Gen_i::Save
|
||||||
|
@ -320,6 +320,13 @@ public:
|
|||||||
CORBA::Double theMergeTolerance)
|
CORBA::Double theMergeTolerance)
|
||||||
throw ( SALOME::SALOME_Exception );
|
throw ( SALOME::SALOME_Exception );
|
||||||
|
|
||||||
|
// Get MED version of the file by its name
|
||||||
|
CORBA::Boolean GetMEDVersion(const char* theFileName,
|
||||||
|
SMESH::MED_VERSION& theVersion);
|
||||||
|
|
||||||
|
// Get names of meshes defined in file with the specified name
|
||||||
|
SMESH::string_array* GetMeshNames(const char* theFileName);
|
||||||
|
|
||||||
// ****************************************************
|
// ****************************************************
|
||||||
// Interface inherited methods (from SALOMEDS::Driver)
|
// Interface inherited methods (from SALOMEDS::Driver)
|
||||||
// ****************************************************
|
// ****************************************************
|
||||||
|
@ -2263,7 +2263,7 @@ CORBA::Boolean SMESH_Mesh_i::HasDuplicatedGroupNamesMED()
|
|||||||
return _impl->HasDuplicatedGroupNamesMED();
|
return _impl->HasDuplicatedGroupNamesMED();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SMESH_Mesh_i::PrepareForWriting (const char* file)
|
void SMESH_Mesh_i::PrepareForWriting (const char* file, bool overwrite)
|
||||||
{
|
{
|
||||||
TCollection_AsciiString aFullName ((char*)file);
|
TCollection_AsciiString aFullName ((char*)file);
|
||||||
OSD_Path aPath (aFullName);
|
OSD_Path aPath (aFullName);
|
||||||
@ -2272,8 +2272,10 @@ void SMESH_Mesh_i::PrepareForWriting (const char* file)
|
|||||||
// existing filesystem node
|
// existing filesystem node
|
||||||
if (aFile.KindOfFile() == OSD_FILE) {
|
if (aFile.KindOfFile() == OSD_FILE) {
|
||||||
if (aFile.IsWriteable()) {
|
if (aFile.IsWriteable()) {
|
||||||
aFile.Reset();
|
if (overwrite) {
|
||||||
aFile.Remove();
|
aFile.Reset();
|
||||||
|
aFile.Remove();
|
||||||
|
}
|
||||||
if (aFile.Failed()) {
|
if (aFile.Failed()) {
|
||||||
TCollection_AsciiString msg ("File ");
|
TCollection_AsciiString msg ("File ");
|
||||||
msg += aFullName + " cannot be replaced.";
|
msg += aFullName + " cannot be replaced.";
|
||||||
@ -2304,15 +2306,16 @@ void SMESH_Mesh_i::PrepareForWriting (const char* file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SMESH_Mesh_i::ExportToMED (const char* file,
|
void SMESH_Mesh_i::ExportToMEDX (const char* file,
|
||||||
CORBA::Boolean auto_groups,
|
CORBA::Boolean auto_groups,
|
||||||
SMESH::MED_VERSION theVersion)
|
SMESH::MED_VERSION theVersion,
|
||||||
|
CORBA::Boolean overwrite)
|
||||||
throw(SALOME::SALOME_Exception)
|
throw(SALOME::SALOME_Exception)
|
||||||
{
|
{
|
||||||
Unexpect aCatch(SALOME_SalomeException);
|
Unexpect aCatch(SALOME_SalomeException);
|
||||||
|
|
||||||
// Perform Export
|
// Perform Export
|
||||||
PrepareForWriting(file);
|
PrepareForWriting(file, overwrite);
|
||||||
const char* aMeshName = "Mesh";
|
const char* aMeshName = "Mesh";
|
||||||
SALOMEDS::Study_ptr aStudy = _gen_i->GetCurrentStudy();
|
SALOMEDS::Study_ptr aStudy = _gen_i->GetCurrentStudy();
|
||||||
if ( !aStudy->_is_nil() ) {
|
if ( !aStudy->_is_nil() ) {
|
||||||
@ -2344,17 +2347,25 @@ void SMESH_Mesh_i::ExportToMED (const char* file,
|
|||||||
// check names of groups
|
// check names of groups
|
||||||
checkGroupNames();
|
checkGroupNames();
|
||||||
|
|
||||||
TPythonDump() << _this() << ".ExportToMED( '"
|
TPythonDump() << _this() << ".ExportToMEDX( '"
|
||||||
<< file << "', " << auto_groups << ", " << theVersion << " )";
|
<< file << "', " << auto_groups << ", " << theVersion << ", " << overwrite << " )";
|
||||||
|
|
||||||
_impl->ExportMED( file, aMeshName, auto_groups, theVersion );
|
_impl->ExportMED( file, aMeshName, auto_groups, theVersion );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SMESH_Mesh_i::ExportToMED (const char* file,
|
||||||
|
CORBA::Boolean auto_groups,
|
||||||
|
SMESH::MED_VERSION theVersion)
|
||||||
|
throw(SALOME::SALOME_Exception)
|
||||||
|
{
|
||||||
|
ExportToMEDX(file,auto_groups,theVersion,true);
|
||||||
|
}
|
||||||
|
|
||||||
void SMESH_Mesh_i::ExportMED (const char* file,
|
void SMESH_Mesh_i::ExportMED (const char* file,
|
||||||
CORBA::Boolean auto_groups)
|
CORBA::Boolean auto_groups)
|
||||||
throw(SALOME::SALOME_Exception)
|
throw(SALOME::SALOME_Exception)
|
||||||
{
|
{
|
||||||
ExportToMED(file,auto_groups,SMESH::MED_V2_1);
|
ExportToMEDX(file,auto_groups,SMESH::MED_V2_1,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SMESH_Mesh_i::ExportDAT (const char *file)
|
void SMESH_Mesh_i::ExportDAT (const char *file)
|
||||||
|
@ -206,6 +206,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
char* GetVersionString(SMESH::MED_VERSION version, CORBA::Short nbDigits);
|
char* GetVersionString(SMESH::MED_VERSION version, CORBA::Short nbDigits);
|
||||||
|
|
||||||
|
void ExportToMEDX( const char* file, CORBA::Boolean auto_groups, SMESH::MED_VERSION theVersion, CORBA::Boolean overwrite )
|
||||||
|
throw (SALOME::SALOME_Exception);
|
||||||
void ExportToMED( const char* file, CORBA::Boolean auto_groups, SMESH::MED_VERSION theVersion )
|
void ExportToMED( const char* file, CORBA::Boolean auto_groups, SMESH::MED_VERSION theVersion )
|
||||||
throw (SALOME::SALOME_Exception);
|
throw (SALOME::SALOME_Exception);
|
||||||
void ExportMED( const char* file, CORBA::Boolean auto_groups )
|
void ExportMED( const char* file, CORBA::Boolean auto_groups )
|
||||||
@ -338,7 +340,7 @@ public:
|
|||||||
static SMESH::Hypothesis_Status
|
static SMESH::Hypothesis_Status
|
||||||
ConvertHypothesisStatus (SMESH_Hypothesis::Hypothesis_Status theStatus);
|
ConvertHypothesisStatus (SMESH_Hypothesis::Hypothesis_Status theStatus);
|
||||||
|
|
||||||
static void PrepareForWriting (const char* file);
|
static void PrepareForWriting (const char* file, bool overwrite = true);
|
||||||
|
|
||||||
//int importMEDFile( const char* theFileName, const char* theMeshName );
|
//int importMEDFile( const char* theFileName, const char* theMeshName );
|
||||||
|
|
||||||
|
@ -1328,25 +1328,29 @@ class Mesh:
|
|||||||
def Group(self, grp, name=""):
|
def Group(self, grp, name=""):
|
||||||
return self.GroupOnGeom(grp, name)
|
return self.GroupOnGeom(grp, name)
|
||||||
|
|
||||||
## Deprecated, used only for compatibility! Please, use ExportMED() method instead.
|
## Deprecated, used only for compatibility! Please, use ExportToMEDX() method instead.
|
||||||
# Exports the mesh in a file in MED format and chooses the \a version of MED format
|
# Exports the mesh in a file in MED format and chooses the \a version of MED format
|
||||||
|
## 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 values are SMESH.MED_V2_1, SMESH.MED_V2_2
|
# @param version values are SMESH.MED_V2_1, SMESH.MED_V2_2
|
||||||
# @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
|
||||||
# @ingroup l2_impexp
|
# @ingroup l2_impexp
|
||||||
def ExportToMED(self, f, version, opt=0):
|
def ExportToMED(self, f, version, opt=0, overwrite=1):
|
||||||
self.mesh.ExportToMED(f, opt, version)
|
self.mesh.ExportToMEDX(f, opt, version, overwrite)
|
||||||
|
|
||||||
## Exports the mesh in a file in MED format
|
## Exports the mesh in a file in MED format and chooses the \a version of MED format
|
||||||
|
## allowing to overwrite the file if it exists or add the exported data to its contents
|
||||||
# @param f is the file name
|
# @param f is the file name
|
||||||
# @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(MED_V2_1 or MED_V2_2)
|
||||||
|
# @param overwrite boolean parameter for overwriting/not overwriting the file
|
||||||
# @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_V2_2, overwrite=1):
|
||||||
self.mesh.ExportToMED(f, auto_groups, version)
|
self.mesh.ExportToMEDX(f, auto_groups, version, overwrite)
|
||||||
|
|
||||||
## Exports the mesh in a file in DAT format
|
## Exports the mesh in a file in DAT format
|
||||||
# @param f the file name
|
# @param f the file name
|
||||||
|
Loading…
Reference in New Issue
Block a user