-// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 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
// SMESH includes
#include "SMESHGUI.h"
+#include "SMESHGUI_AdaptDlg.h"
#include "SMESHGUI_Add0DElemsOnAllNodesDlg.h"
#include "SMESHGUI_AddMeshElementDlg.h"
#include "SMESHGUI_AddQuadraticElementDlg.h"
#include "SMESH_version.h"
-#include "SMESH_ControlsDef.hxx"
#include "SMESH_Actor.h"
#include "SMESH_ActorUtils.h"
#include "SMESH_Client.hxx"
+#include "SMESH_Comment.hxx"
+#include "SMESH_ControlsDef.hxx"
#include "SMESH_ScalarBarActor.h"
-#include <SMESH_Comment.hxx>
#include "SMESH_TypeFilter.hxx"
// SALOME GUI includes
geomGen = GEOM::GEOM_Gen::_narrow(comp);
}
}
- if (!CORBA::is_nil(geomGen)) {
+ if (!CORBA::is_nil(geomGen))
+ {
geomGen->BreakLink(aREntry.toStdString().c_str());
+ SMESHGUI::GetSMESHGUI()->updateObjBrowser();
+
+ // remove actors whose objects are removed by BreakLink()
+ QList<SUIT_ViewWindow*> wndList = SMESHGUI::desktop()->windows();
+ SUIT_ViewWindow* wnd;
+ foreach(wnd, wndList)
+ SMESH::UpdateActorsAfterUpdateStudy(wnd);
}
}
}
}
}
+ //================================================================================
+ /*!
+ * \brief Return true if a mesh icon == ICON_SMESH_TREE_GEOM_MODIF
+ * which means that the mesh can't be modified. It should be either re-computed
+ * or breakShaperLink()'ed. Warn the user about it.
+ */
+ //================================================================================
+
+ bool warnOnGeomModif()
+ {
+ SALOME_ListIO selected;
+ if ( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
+ aSel->selectedObjects(selected,"",/*convertReferences=*/false);
+
+ SALOME_ListIteratorOfListIO It( selected );
+ for ( ; It.More(); It.Next() )
+ {
+ Handle(SALOME_InteractiveObject) io = It.Value();
+ if ( !io->hasEntry() ) continue;
+ _PTR(SObject) so = SMESH::getStudy()->FindObjectID( io->getEntry() );
+ SMESH::SMESH_Mesh_var mesh;
+ while ( mesh->_is_nil() && so && so->GetID() != "0:" )
+ {
+ CORBA::Object_var obj = SMESH::SObjectToObject( so );
+ SMESH::SMESH_IDSource_var isrc = SMESH::SMESH_IDSource::_narrow( obj );
+ if ( isrc->_is_nil() )
+ so = so->GetFather();
+ else
+ mesh = isrc->GetMesh();
+ }
+ if ( mesh->_is_nil() ) continue;
+ so = SMESH::FindSObject( mesh );
+ if ( !so ) continue;
+ _PTR(GenericAttribute) attr;
+ so->FindAttribute( attr, "AttributePixMap" );
+ _PTR(AttributePixMap) pixmap = attr;
+ if ( !pixmap ) continue;
+
+ if ( pixmap->GetPixMap() == "ICON_SMESH_TREE_GEOM_MODIF" )
+ {
+ SUIT_MessageBox::warning(SMESHGUI::desktop(),
+ QObject::tr("SMESH_WRN_WARNING"),
+ QObject::tr("MSG_WARN_ON_GEOM_MODIF"));
+ return true;
+ }
+ }
+ return false;
+ }
+
void SetDisplayMode(int theCommandID, VTK::MarkerMap& theMarkerMap)
{
SALOME_ListIO selected;
break;
}
- case SMESHOp::OpCreateMesh:
- case SMESHOp::OpCreateSubMesh:
case SMESHOp::OpEditMeshOrSubMesh:
case SMESHOp::OpEditMesh:
case SMESHOp::OpEditSubMesh:
+ case SMESHOp::OpMeshOrder:
+ case SMESHOp::OpCreateSubMesh:
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
+
+ case SMESHOp::OpCreateMesh:
case SMESHOp::OpCompute:
case SMESHOp::OpComputeSubMesh:
case SMESHOp::OpPreCompute:
case SMESHOp::OpEvaluate:
- case SMESHOp::OpMeshOrder:
startOperation( theCommandID );
break;
case SMESHOp::OpCopyMesh:
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
/*Standard_Boolean aRes;
SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IObject);
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_MultiEditDlg* aDlg = NULL;
case SMESHOp::OpSmoothing:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SmoothingDlg( this ) )->show();
case SMESHOp::OpExtrusion:
{
if (isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ExtrusionDlg ( this ) )->show();
case SMESHOp::OpExtrusionAlongAPath:
{
if (isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ExtrusionAlongPathDlg( this ) )->show();
case SMESHOp::OpRevolution:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RevolutionDlg( this ) )->show();
{
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd )
{
EmitSignalDeactivateDialog();
}
break;
}
+
+ // Adaptation - begin
+ case SMESHOp::OpUniformRefinement:
+ case SMESHOp::OpHONewCase:
+ case SMESHOp::OpHOCaseFollow:
+ case SMESHOp::OpHONewIter:
+ case SMESHOp::OpHOIterCompute:
+ case SMESHOp::OpHOIterComputePublish:
+ case SMESHOp::OpHOEdit:
+ case SMESHOp::OpHODelete:
+ case SMESHOp::OpMGAdapt:
+ {
+ SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil();
+ SMESHGUI_AdaptDlg *aDlg = new SMESHGUI_AdaptDlg( this, theCommandID, aMesh);
+ aDlg->show();
+ }
+ // Adaptation - end
+
case SMESHOp::OpSplitBiQuadratic:
case SMESHOp::OpConvertMeshToQuadratic:
case SMESHOp::OpCreateBoundaryElements: // create 2D mesh from 3D
case SMESHOp::OpReorientFaces:
case SMESHOp::OpCreateGeometryGroup:
{
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
startOperation( theCommandID );
break;
}
}
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil();
}
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
}
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
{
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_GroupOpDlg* aDlg = new SMESHGUI_DimGroupDlg( this );
{
if ( isStudyLocked() )
break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_FaceGroupsSeparatedByEdgesDlg* aDlg = new SMESHGUI_FaceGroupsSeparatedByEdgesDlg( this );
case SMESHOp::OpEditHypothesis:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
SALOME_ListIO selected;
case SMESHOp::OpUnassign: // REMOVE HYPOTHESIS / ALGORITHMS
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
SUIT_OverrideCursor wc;
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
case SMESHOp::OpHexagonalPrism:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
SMDSAbs_EntityType type = SMDSEntity_Edge;
case SMESHOp::OpPolyhedron:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_CreatePolyhedralVolumeDlg( this ) )->show();
case SMESHOp::OpTriQuadraticHexahedron:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
SMDSAbs_EntityType type = SMDSEntity_Last;
case SMESHOp::OpRemoveNodes:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RemoveNodesDlg( this ) )->show();
case SMESHOp::OpRemoveElements: // REMOVES ELEMENTS
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RemoveElementsDlg( this ) )->show();
case SMESHOp::OpClearMesh: {
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
SALOME_ListIO selected;
if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
case SMESHOp::OpRemoveOrphanNodes:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
SALOME_ListIO selected;
if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
aSel->selectedObjects( selected );
case SMESHOp::OpRenumberingNodes:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RenumberingDlg( this, 0 ) )->show();
case SMESHOp::OpRenumberingElements:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RenumberingDlg( this, 1 ) )->show();
case SMESHOp::OpTranslation:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_TranslationDlg( this ) )->show();
case SMESHOp::OpRotation:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RotationDlg( this ) )->show();
case SMESHOp::OpSymmetry:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SymmetryDlg( this ) )->show();
case SMESHOp::OpScale:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ScaleDlg( this ) )->show();
case SMESHOp::OpOffset:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_OffsetDlg( this ) )->show();
case SMESHOp::OpSewing:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SewingDlg( this ) )->show();
case SMESHOp::OpMergeNodes:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_MergeDlg( this, 0 ) )->show();
case SMESHOp::OpMergeElements:
{
if (isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_MergeDlg( this, 1 ) )->show();
}
case SMESHOp::OpMoveNode: // MAKE MESH PASS THROUGH POINT
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
startOperation( SMESHOp::OpMoveNode );
break;
case SMESHOp::OpDuplicateNodes:
{
if(isStudyLocked()) break;
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_DuplicateNodesDlg( this ) )->show();
}
case SMESHOp::OpElem0DOnElemNodes: // 0D_ON_ALL_NODES
+ if ( warnOnGeomModif() )
+ break; // action forbiden as geometry modified
startOperation( SMESHOp::OpElem0DOnElemNodes );
break;
createSMESHAction( SMESHOp::OpAutoColor, "AUTO_COLOR" );
createSMESHAction( SMESHOp::OpDisableAutoColor, "DISABLE_AUTO_COLOR" );
+// Mesh adaptation
+ createSMESHAction( SMESHOp::OpUniformRefinement, "REF_ALL", "ICON_REF_ALL" );
+ createSMESHAction( SMESHOp::OpHONewCase, "HOMARD_CREATE_CASE", "ICON_HOMARD_CREATE_CASE" );
+ createSMESHAction( SMESHOp::OpHOCaseFollow, "HOMARD_FOLLOW_ITERATION", "ICON_HOMARD_FOLLOW_ITERATION" );
+ createSMESHAction( SMESHOp::OpHONewIter, "HOMARD_NEW_ITERATION", "ICON_HOMARD_NEW_ITERATION" );
+ createSMESHAction( SMESHOp::OpHOIterCompute, "HOMARD_COMPUTE", "ICON_HOMARD_COMPUTE" );
+ createSMESHAction( SMESHOp::OpHOIterComputePublish, "HOMARD_COMPUTE_PUBLISH", "ICON_HOMARD_COMPUTE_PUBLISH" );
+ createSMESHAction( SMESHOp::OpHOEdit, "EDIT", "ICON_DLG_EDIT_MESH" );
+ createSMESHAction( SMESHOp::OpHODelete, "DELETE", "ICON_DELETE" );
+ createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" );
+
createSMESHAction( SMESHOp::OpMinimumDistance, "MEASURE_MIN_DIST", "ICON_MEASURE_MIN_DIST" );
createSMESHAction( SMESHOp::OpBoundingBox, "MEASURE_BND_BOX", "ICON_MEASURE_BND_BOX" );
createSMESHAction( SMESHOp::OpPropertiesLength, "MEASURE_LENGTH", "ICON_MEASURE_LENGTH" );
meshId = createMenu( tr( "MEN_MESH" ), -1, 70, 10 ),
ctrlId = createMenu( tr( "MEN_CTRL" ), -1, 60, 10 ),
modifyId = createMenu( tr( "MEN_MODIFY" ), -1, 40, 10 ),
+ adaptId = createMenu( tr( "MEN_ADAPT" ), -1, 80, 10 ),
measureId = createMenu( tr( "MEN_MEASURE" ), -1, 50, 10 ),
viewId = createMenu( tr( "MEN_VIEW" ), -1, 2 );
removeId = createMenu( tr( "MEN_REMOVE" ), modifyId, 403 ),
//renumId = createMenu( tr( "MEN_RENUM" ), modifyId, 404 ),
transfId = createMenu( tr( "MEN_TRANSF" ), modifyId, 405 ),
+ refHomardId = createMenu( tr( "MEN_REF_HOMARD" ), adaptId, -1, 10 ),
basicPropId = createMenu( tr( "MEN_BASIC_PROPERTIES" ), measureId, -1, 10 );
//createMenu( SMESHOp::OpImportDAT, importId, -1 );
createMenu( SMESHOp::OpSmoothing, modifyId, -1 );
createMenu( SMESHOp::OpPatternMapping, modifyId, -1 );
+ createMenu( SMESHOp::OpUniformRefinement, adaptId, -1 );
+ createMenu( SMESHOp::OpHONewCase, refHomardId, -1 );
+ createMenu( SMESHOp::OpHOCaseFollow, refHomardId, -1 );
+ createMenu( separator(), refHomardId, -1 );
+ createMenu( SMESHOp::OpHONewIter, refHomardId, -1 );
+ createMenu( SMESHOp::OpHOIterCompute, refHomardId, -1 );
+ createMenu( SMESHOp::OpHOIterComputePublish, refHomardId, -1 );
+ createMenu( separator(), refHomardId, -1 );
+ createMenu( SMESHOp::OpHOEdit, refHomardId, -1 );
+ createMenu( SMESHOp::OpHODelete, refHomardId, -1 );
+ createMenu( SMESHOp::OpMGAdapt, adaptId, -1 );
+
createMenu( SMESHOp::OpMinimumDistance, measureId, -1 );
createMenu( SMESHOp::OpBoundingBox, measureId, -1 );
createMenu( SMESHOp::OpAngle, measureId, -1 );
//renumbTb = createTool( tr( "TB_RENUMBER" ), QString( "SMESHRenumberingToolbar" ) ),
transformTb = createTool( tr( "TB_TRANSFORM" ), QString( "SMESHTransformationToolbar" ) ),
modifyTb = createTool( tr( "TB_MODIFY" ), QString( "SMESHModificationToolbar" ) ),
+// adaptTb = createTool( tr( "TB_ADAPTATION" ),QString( "SMESHAdaptationToolbar" ) ),
measuremTb = createTool( tr( "TB_MEASUREM" ), QString( "SMESHMeasurementsToolbar" ) ),
dispModeTb = createTool( tr( "TB_DISP_MODE" ), QString( "SMESHDisplayModeToolbar" ) );
createTool( SMESHOp::OpSmoothing, modifyTb );
createTool( SMESHOp::OpPatternMapping, modifyTb );
+// createTool( SMESHOp::OpUniformRefinement, adaptTb );
+// createTool( SMESHOp::OpHOMARDRefinement, adaptTb );
+// createTool( SMESHOp::OpMGAdapt, adaptTb );
+
createTool( SMESHOp::OpMinimumDistance, measuremTb );
createTool( SMESHOp::OpUpdate, dispModeTb );
popupMgr()->insert( separator(), -1, 0 );
createPopupItem( SMESHOp::OpClearMesh, OB, mesh );
//popupMgr()->insert( separator(), -1, 0 );
+// createPopupItem( SMESHOp::OpUniformRefinement, OB, mesh );
+// createPopupItem( SMESHOp::OpHOMARDRefinement, OB, mesh );
+// createPopupItem( SMESHOp::OpMGAdapt, OB, mesh );
QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc );
QString multiple_non_empty = QString( " && %1>0 && numberOfNodes>0" ).arg( dc );
SALOME_ListIteratorOfListIO It( selected );
for ( ; isCompatible && It.More(); It.Next())
isCompatible =
- ( strcmp("GEOM", It.Value()->getComponentDataType()) == 0 ) ||
- ( strcmp("SMESH", It.Value()->getComponentDataType()) == 0 );
+ ( strcmp("GEOM", It.Value()->getComponentDataType()) == 0 ) ||
+ ( strcmp("SHAPERSTUDY", It.Value()->getComponentDataType()) == 0 ) ||
+ ( strcmp("SMESH", It.Value()->getComponentDataType()) == 0 );
return isCompatible;
}
QList<SUIT_ViewWindow*> wndList = aDesk->windows();
SUIT_ViewWindow* wnd;
foreach ( wnd, wndList )
+ {
connectView( wnd );
+
+ // remove actors whose objects are removed in GetSMESHGen()->UpdateStudy()
+ SMESH::UpdateActorsAfterUpdateStudy(wnd);
+
+ wnd->update();
+ }
}
Py_XDECREF(pluginsmanager);
"SMESH", "nb_segments_per_edge" );
setPreferenceProperty( nbSeg, "min", 1 );
setPreferenceProperty( nbSeg, "max", 10000000 );
+ addPreference( tr( "PREF_USE_MESHGEMS_HYPOSET" ), segGroup, LightApp_Preferences::Bool, "SMESH", "use-meshgems-hypo-sets" );
int loadGroup = addPreference( tr( "SMESH_PREF_MESH_LOADING" ), genTab );
addPreference( tr( "PREF_FORGET_MESH_AT_HYP_MODIF" ), loadGroup, LightApp_Preferences::Bool,
setPreferenceProperty( coloringType, "indexes", indices );
addPreference( tr( "SMESH_DISTRIBUTION_COLOR" ), distributionGr, LightApp_Preferences::Color, "SMESH", "distribution_color" );
+ // Adaptation tab ------------------------------------------------------------------------
+ int adaptTab = addPreference( tr( "ADAPT_PREF_TAB_GENERAL" ) );
+ int bloc, pref ;
+ // Refinement with HOMARD
+ bloc = addPreference( tr( "ADAPT_PREF_PUBLICATION" ), adaptTab );
+ setPreferenceProperty( bloc, "columns", 1 );
+ pref = addPreference( tr( "ADAPT_PREF_PUBLICATION_MAILLAGE_IN" ), bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_in" );
+ pref = addPreference( tr( "ADAPT_PREF_PUBLICATION_MAILLAGE_OUT" ), bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_out" );
+
+ bloc = addPreference( tr( "ADAPT_PREF_YACS_MAX" ), adaptTab );
+ setPreferenceProperty( bloc, "columns", 1 );
+ pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_ITER" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_iter" );
+ setPreferenceProperty( pref, "min", 0 );
+ setPreferenceProperty( pref, "max", 100000000 );
+ setPreferenceProperty( pref, "step", 1 );
+ pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_NODE" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_node" );
+ setPreferenceProperty( pref, "min", 0 );
+ setPreferenceProperty( pref, "max", 100000000 );
+ setPreferenceProperty( pref, "step", 1000 );
+ pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_ELEM" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_elem" );
+ setPreferenceProperty( pref, "min", 0 );
+ setPreferenceProperty( pref, "max", 100000000 );
+ setPreferenceProperty( pref, "step", 1000 );
+ bloc = addPreference( tr( "ADAPT_PREF_YACS_CONVERGENCE" ), adaptTab );
+ setPreferenceProperty( bloc, "columns", 1 );
+ pref = addPreference( tr( "ADAPT_PREF_YACS_TYPE_TEST" ), bloc, LightApp_Preferences::Selector, "HOMARD", "yacs_type_test" );
+ QStringList aListOfTypeTest;
+ aListOfTypeTest << "None";
+ aListOfTypeTest << "VTest > VRef";
+ aListOfTypeTest << "VTest < VRef";
+ setPreferenceProperty( pref, "strings", aListOfTypeTest );
+
}
void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
// to do : create operation here
switch( id )
{
+ case SMESHOp::OpUniformRefinement:
+ case SMESHOp::OpHONewCase:
+ case SMESHOp::OpHOCaseFollow:
+ case SMESHOp::OpHONewIter:
+ case SMESHOp::OpHOIterCompute:
+ case SMESHOp::OpHOIterComputePublish:
+ case SMESHOp::OpHOEdit:
+ case SMESHOp::OpHODelete:
+ case SMESHOp::OpMGAdapt:
+ break;
case SMESHOp::OpSplitBiQuadratic:
op = new SMESHGUI_SplitBiQuadOp();
break;
// componentName is used for encoding of entries when storing them in IParameters
std::string componentName = myComponentSMESH->ComponentDataType();
- //_PTR(SComponent) aSComponent = studyDS->FindComponent("GEOM");
- //if (!aSComponent) return;
// IParameters
_PTR(AttributeParameter) ap = studyDS->GetModuleParameters("Interface Applicative",