[box #38049][EDF] (2023-T3) Usages in SMESH

This commit is contained in:
yoann.audouin 2024-03-14 08:11:26 +01:00
parent 66c7e4a32d
commit e797720182
6 changed files with 126 additions and 0 deletions

View File

@ -2560,6 +2560,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
SVTK_ViewWindow* vtkwnd = dynamic_cast<SVTK_ViewWindow*>( view ); SVTK_ViewWindow* vtkwnd = dynamic_cast<SVTK_ViewWindow*>( view );
//QAction* act = action( theCommandID ); //QAction* act = action( theCommandID );
bool logAction(false);
switch (theCommandID) { switch (theCommandID) {
case SMESHOp::OpDelete: case SMESHOp::OpDelete:
@ -2877,6 +2878,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
break; break;
case SMESHOp::OpCopyMesh: case SMESHOp::OpCopyMesh:
{ {
logAction = true;
if (isStudyLocked()) break; if (isStudyLocked()) break;
EmitSignalDeactivateDialog(); EmitSignalDeactivateDialog();
( new SMESHGUI_CopyMeshDlg( this ) )->show(); ( new SMESHGUI_CopyMeshDlg( this ) )->show();
@ -3702,6 +3704,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
} }
case SMESHOp::OpTranslation: case SMESHOp::OpTranslation:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -3717,6 +3720,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
} }
case SMESHOp::OpRotation: case SMESHOp::OpRotation:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -3732,6 +3736,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
} }
case SMESHOp::OpSymmetry: case SMESHOp::OpSymmetry:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -3747,6 +3752,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
} }
case SMESHOp::OpScale: case SMESHOp::OpScale:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -3763,6 +3769,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpOffset: case SMESHOp::OpOffset:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -3779,6 +3786,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpSewing: case SMESHOp::OpSewing:
{ {
logAction = true;
if(isStudyLocked()) break; if(isStudyLocked()) break;
if ( warnOnGeomModif() ) if ( warnOnGeomModif() )
break; // action forbidden as geometry modified break; // action forbidden as geometry modified
@ -4008,6 +4016,14 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
anApp->updateActions(); //SRN: To update a Save button in the toolbar anApp->updateActions(); //SRN: To update a Save button in the toolbar
//updateObjBrowser(); //updateObjBrowser();
if(logAction)
{
QAction* anAction = action( theCommandID );
CAM_Application::logStructuredUserEvent( "Mesh",
"Operation",
anAction->text(),
"activated" );
}
return true; return true;
} }

View File

@ -212,6 +212,7 @@ private:
const bool = false); const bool = false);
void connectView( const SUIT_ViewWindow* ); void connectView( const SUIT_ViewWindow* );
void logSmeshGUIEvent(int theCommandID);
private : private :

View File

@ -896,6 +896,56 @@ void SMESHGUI_ComputeDlg_QThreadQDialog::closeEvent(QCloseEvent *event)
event->accept(); event->accept();
} }
//================================================================================
void SMESHGUI_BaseComputeOp::logMeshSize()
{
if(myMesh->_is_nil())
{
return;
}
SMESH::smIdType_array_var aRes = myMesh->GetMeshInfo();
QString aMessage = QString("%1").arg( aRes[SMDSAbs_EntityType::SMDSEntity_Node]) + " nodes";
CAM_Application::logStructuredUserEvent("Mesh",
"Result size",
"",
"",
aMessage);
int nbEdges = aRes[SMDSAbs_EntityType::SMDSEntity_Edge] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Edge];
aMessage = QString("%1").arg(nbEdges) + " edges";
CAM_Application::logStructuredUserEvent("Mesh",
"Result size",
"",
"",
aMessage);
int nbFaces = aRes[SMDSAbs_EntityType::SMDSEntity_Triangle] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Triangle] +
aRes[SMDSAbs_EntityType::SMDSEntity_BiQuad_Triangle] + aRes[SMDSAbs_EntityType::SMDSEntity_Quadrangle] +
aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Quadrangle] + aRes[SMDSAbs_EntityType::SMDSEntity_BiQuad_Quadrangle] +
aRes[SMDSAbs_EntityType::SMDSEntity_Polygon] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Polygon];
aMessage = QString("%1").arg(nbFaces) + " faces";
CAM_Application::logStructuredUserEvent("Mesh",
"Result size",
"",
"",
aMessage);
int nbVolumes = aRes[SMDSAbs_EntityType::SMDSEntity_Tetra] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Tetra] +
aRes[SMDSAbs_EntityType::SMDSEntity_Pyramid] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Pyramid] +
aRes[SMDSAbs_EntityType::SMDSEntity_Hexa] + aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Hexa] +
aRes[SMDSAbs_EntityType::SMDSEntity_TriQuad_Hexa] + aRes[SMDSAbs_EntityType::SMDSEntity_Penta] +
aRes[SMDSAbs_EntityType::SMDSEntity_Quad_Penta] + aRes[SMDSAbs_EntityType::SMDSEntity_BiQuad_Penta] +
aRes[SMDSAbs_EntityType::SMDSEntity_Hexagonal_Prism] + aRes[SMDSAbs_EntityType::SMDSEntity_Polyhedra];
aMessage = QString("%1").arg(nbVolumes) + " volumes";
CAM_Application::logStructuredUserEvent("Mesh",
"Result size",
"",
"",
aMessage);
}
//================================================================================ //================================================================================
/*! /*!
* \brief computeMesh() * \brief computeMesh()
@ -1122,9 +1172,13 @@ void SMESHGUI_BaseComputeOp::computeMesh()
isShowResultDlg = true; isShowResultDlg = true;
} }
//log Mesh size info
logMeshSize();
// SHOW RESULTS // SHOW RESULTS
if ( isShowResultDlg ) if ( isShowResultDlg )
showComputeResult( memoryLack, noCompError,aCompErrors, noHypoError, aHypErrors ); showComputeResult( memoryLack, noCompError,aCompErrors, noHypoError, aHypErrors );
} }
void SMESHGUI_BaseComputeOp::showComputeResult( const bool theMemoryLack, void SMESHGUI_BaseComputeOp::showComputeResult( const bool theMemoryLack,

View File

@ -95,6 +95,7 @@ protected:
const QString&); const QString&);
virtual bool isValid( SUIT_Operation* theOp ) const; virtual bool isValid( SUIT_Operation* theOp ) const;
void logMeshSize();
protected slots: protected slots:
virtual bool onApply(); virtual bool onApply();

View File

@ -125,6 +125,57 @@ LightApp_Dialog* SMESHGUI_MeshOp::dlg() const
return myDlg; return myDlg;
} }
//================================================================================
/*!
* \brief Log meshers info
*/
//================================================================================
void SMESHGUI_MeshOp::logSmeshParams()
{
QString mesherType;
int curMeshType = myDlg->currentMeshType();
switch ( curMeshType ) {
case MT_ANY:
mesherType = "Any";
break;
case MT_TRIANGULAR:
mesherType = "Triangular";
break;
case MT_QUADRILATERAL:
mesherType = "Quadrilateral";
break;
case MT_TETRAHEDRAL:
mesherType = "Tetrahedral";
break;
case MT_HEXAHEDRAL:
mesherType = "Hexahedral";
break;
default:
mesherType = "";
}
QString aMessage = QString("Mesh type is %1").arg(mesherType);
CAM_Application::logStructuredUserEvent( "Mesh",
"create mesh",
"",
"",
aMessage);
for ( int dim = 0; dim <= 3; ++dim )
{
HypothesisData * curAlgo = hypData( dim, Algo, currentHyp( dim, Algo ));
if(curAlgo)
{
aMessage = QString("%1D algorithm is %2").arg(dim).arg(curAlgo->Label);
CAM_Application::logStructuredUserEvent( "Mesh",
"create mesh",
"",
"",
aMessage);
}
}
}
//================================================================================ //================================================================================
/*! /*!
* \brief Creates or edits mesh * \brief Creates or edits mesh
@ -182,6 +233,7 @@ bool SMESHGUI_MeshOp::onApply()
{ {
if ( myToCreate ) if ( myToCreate )
setDefaultName(); setDefaultName();
//connect(aAction, SIGNAL(triggered(bool)), this, SLOT(logSmeshParams()));
} }
else else
{ {
@ -190,6 +242,7 @@ bool SMESHGUI_MeshOp::onApply()
SUIT_MessageBox::warning( myDlg, tr( "SMESH_ERROR" ), aMess ); SUIT_MessageBox::warning( myDlg, tr( "SMESH_ERROR" ), aMess );
} }
logSmeshParams();
myHypoSet = 0; myHypoSet = 0;
return aResult; return aResult;

View File

@ -151,6 +151,7 @@ private:
void updateHypoSets(); void updateHypoSets();
void setFilteredAlgoData(); void setFilteredAlgoData();
QStringList getHypoNames(); QStringList getHypoNames();
void logSmeshParams();
private: private: