mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 18:00:34 +05:00
23416: [CEA 2033] Impossible to re-compute a mesh from an hdf
Optimize mesh loading in case of complex shape + a group on geometry (SMESHDS_GroupBase.cxx) + While MED export, create groups of all balls and 0D elements, if required (SMESH_Mesh.cxx) + Remember collapsed state of information on elements and nodes in Mesh Information dlg (SMESHGUI_MeshInfo)
This commit is contained in:
parent
c80762b0a1
commit
3957e28e35
@ -20,7 +20,6 @@
|
|||||||
# --- options ---
|
# --- options ---
|
||||||
# additional include directories
|
# additional include directories
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${QT_INCLUDES}
|
|
||||||
${KERNEL_INCLUDE_DIRS}
|
${KERNEL_INCLUDE_DIRS}
|
||||||
${GUI_INCLUDE_DIRS}
|
${GUI_INCLUDE_DIRS}
|
||||||
${MEDFILE_INCLUDE_DIRS}
|
${MEDFILE_INCLUDE_DIRS}
|
||||||
|
@ -1421,6 +1421,8 @@ void SMESH_Mesh::ExportMED(const char * file,
|
|||||||
myWriter.AddGroupOfEdges();
|
myWriter.AddGroupOfEdges();
|
||||||
myWriter.AddGroupOfFaces();
|
myWriter.AddGroupOfFaces();
|
||||||
myWriter.AddGroupOfVolumes();
|
myWriter.AddGroupOfVolumes();
|
||||||
|
myWriter.AddGroupOf0DElems();
|
||||||
|
myWriter.AddGroupOfBalls();
|
||||||
}
|
}
|
||||||
if ( theAllElemsToGroup )
|
if ( theAllElemsToGroup )
|
||||||
myWriter.AddAllToGroup();
|
myWriter.AddAllToGroup();
|
||||||
|
@ -124,6 +124,9 @@ int SMESHDS_GroupBase::Extent() const
|
|||||||
|
|
||||||
bool SMESHDS_GroupBase::IsEmpty()
|
bool SMESHDS_GroupBase::IsEmpty()
|
||||||
{
|
{
|
||||||
|
if ( myMesh->GetMeshInfo().NbElements( myType ) == 0 )
|
||||||
|
// avoid long iteration over sub-meshes of a complex sub-mesh of a group on geometry
|
||||||
|
return false;
|
||||||
SMDS_ElemIteratorPtr it = GetElements();
|
SMDS_ElemIteratorPtr it = GetElements();
|
||||||
return ( !it || !it->more() );
|
return ( !it || !it->more() );
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
# additional include directories
|
# additional include directories
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${CAS_INCLUDE_DIRS}
|
${CAS_INCLUDE_DIRS}
|
||||||
${QT_INCLUDES}
|
|
||||||
${PYTHON_INCLUDE_DIRS}
|
${PYTHON_INCLUDE_DIRS}
|
||||||
${VTK_INCLUDE_DIRS}
|
${VTK_INCLUDE_DIRS}
|
||||||
${KERNEL_INCLUDE_DIRS}
|
${KERNEL_INCLUDE_DIRS}
|
||||||
|
@ -468,9 +468,13 @@ namespace
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( aMeshItem );
|
SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( aMeshItem );
|
||||||
if ( aCheckWarn && !aGroup->_is_nil() ) {
|
if ( aCheckWarn && !aGroup->_is_nil() )
|
||||||
QMessageBox msgBox(SUIT_MessageBox::Warning,QObject::tr("SMESH_WRN_WARNING"),
|
{
|
||||||
QObject::tr("SMESH_EXPORT_ONLY_GPOUP"),QMessageBox::StandardButton::NoButton, SMESHGUI::desktop());
|
QMessageBox msgBox(SUIT_MessageBox::Warning,
|
||||||
|
QObject::tr("SMESH_WRN_WARNING"),
|
||||||
|
QObject::tr("SMESH_EXPORT_ONLY_GPOUP"),
|
||||||
|
QMessageBox::StandardButton::NoButton,
|
||||||
|
SMESHGUI::desktop());
|
||||||
QCheckBox dontShowCheckBox(QObject::tr("SMESH_WRN_SHOW_DLG_CHECKBOX"));
|
QCheckBox dontShowCheckBox(QObject::tr("SMESH_WRN_SHOW_DLG_CHECKBOX"));
|
||||||
msgBox.addButton(QMessageBox::Ok);
|
msgBox.addButton(QMessageBox::Ok);
|
||||||
msgBox.addButton(QMessageBox::Cancel);
|
msgBox.addButton(QMessageBox::Cancel);
|
||||||
|
@ -1661,6 +1661,8 @@ SMESHGUI_TreeElemInfo::SMESHGUI_TreeElemInfo( QWidget* parent )
|
|||||||
l->setMargin( 0 );
|
l->setMargin( 0 );
|
||||||
l->addWidget( myInfo );
|
l->addWidget( myInfo );
|
||||||
connect( myInfo, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int )), this, SLOT( itemDoubleClicked( QTreeWidgetItem*, int )) );
|
connect( myInfo, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int )), this, SLOT( itemDoubleClicked( QTreeWidgetItem*, int )) );
|
||||||
|
connect( myInfo, SIGNAL( itemCollapsed( QTreeWidgetItem* )), this, SLOT( saveExpanded( QTreeWidgetItem* )) );
|
||||||
|
connect( myInfo, SIGNAL( itemExpanded( QTreeWidgetItem* )), this, SLOT( saveExpanded( QTreeWidgetItem* )) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -2264,6 +2266,12 @@ QTreeWidgetItem* SMESHGUI_TreeElemInfo::createItem( QTreeWidgetItem* parent, int
|
|||||||
item->setFont( i, f );
|
item->setFont( i, f );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( parent && parent->childCount() == 1 && itemDepth( parent ) == 1 )
|
||||||
|
{
|
||||||
|
QString resName = expandedResource( parent );
|
||||||
|
parent->setExpanded( SMESHGUI::resourceMgr()->booleanValue("SMESH", resName, true ));
|
||||||
|
}
|
||||||
|
|
||||||
item->setExpanded( true );
|
item->setExpanded( true );
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
@ -2295,6 +2303,17 @@ void SMESHGUI_TreeElemInfo::itemDoubleClicked( QTreeWidgetItem* theItem, int th
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SMESHGUI_TreeElemInfo::saveExpanded( QTreeWidgetItem* theItem )
|
||||||
|
{
|
||||||
|
if ( theItem )
|
||||||
|
SMESHGUI::resourceMgr()->setValue("SMESH", expandedResource( theItem ), theItem->isExpanded() );
|
||||||
|
}
|
||||||
|
|
||||||
|
QString SMESHGUI_TreeElemInfo::expandedResource( QTreeWidgetItem* theItem )
|
||||||
|
{
|
||||||
|
return QString("Expanded_") + ( isElements() ? "E_" : "N_" ) + theItem->text(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SMESHGUI_TreeElemInfo::saveInfo( QTextStream &out )
|
void SMESHGUI_TreeElemInfo::saveInfo( QTextStream &out )
|
||||||
{
|
{
|
||||||
out << QString( 12, '-' ) << "\n";
|
out << QString( 12, '-' ) << "\n";
|
||||||
|
@ -242,9 +242,11 @@ protected:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void itemDoubleClicked( QTreeWidgetItem*, int );
|
void itemDoubleClicked( QTreeWidgetItem*, int );
|
||||||
|
void saveExpanded( QTreeWidgetItem* );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 0 );
|
QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 0 );
|
||||||
|
QString expandedResource( QTreeWidgetItem* );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTreeWidget* myInfo;
|
QTreeWidget* myInfo;
|
||||||
|
Loading…
Reference in New Issue
Block a user