Salome HOME
Copyright update 2021
[plugins/netgenplugin.git] / src / GUI / NETGENPluginGUI_HypothesisCreator.cxx
index 0847703617e7862e3bab40d264251444220a4f76..99ef7d15efd4fa4d10688c73e023e2d2e354d0e1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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
@@ -116,7 +116,7 @@ NETGENPluginGUI_HypothesisCreator::~NETGENPluginGUI_HypothesisCreator()
 {
 }
 
-bool NETGENPluginGUI_HypothesisCreator::checkParams(QString& msg) const
+bool NETGENPluginGUI_HypothesisCreator::checkParams(QString& /*msg*/) const
 {
   NetgenHypothesisData data_old, data_new;
   readParamsFromHypo( data_old );
@@ -413,11 +413,8 @@ QFrame* NETGENPluginGUI_HypothesisCreator::buildFrame()
     localSizeHeaders << tr( "LSZ_ENTRY_COLUMN" )<< tr( "LSZ_NAME_COLUMN" ) << tr( "LSZ_LOCALSIZE_COLUMN" );
     myLocalSizeTable->setHorizontalHeaderLabels(localSizeHeaders);
     myLocalSizeTable->horizontalHeader()->hideSection(LSZ_ENTRY_COLUMN);
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-    myLocalSizeTable->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
-#else
     myLocalSizeTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
-#endif
+
     myLocalSizeTable->resizeColumnToContents(LSZ_NAME_COLUMN);
     myLocalSizeTable->resizeColumnToContents(LSZ_LOCALSIZE_COLUMN);
     myLocalSizeTable->setAlternatingRowColors(true);
@@ -478,15 +475,16 @@ QFrame* NETGENPluginGUI_HypothesisCreator::buildFrame()
     optLayout->setSpacing( 6 );
 
     int row = 0;
-    optLayout->addWidget( new QLabel( tr( "NETGEN_ELEM_SIZE_WEIGHT" ), optBox ), row, 0 );
-    myElemSizeWeight = new SMESHGUI_SpinBox( optBox );
-    myElemSizeWeight->RangeStepAndValidator( 0., 1., 0.1, "parametric_precision" );
-    optLayout->addWidget( myElemSizeWeight, row, 1 );
-    row++;
-
+    myElemSizeWeight = 0;
     myNbSurfOptSteps = 0;
-    if ( myIs2D || !myIsONLY )
+    if ( myIs2D || !myIsONLY ) // 2D options
     {
+      optLayout->addWidget( new QLabel( tr( "NETGEN_ELEM_SIZE_WEIGHT" ), optBox ), row, 0 );
+      myElemSizeWeight = new SMESHGUI_SpinBox( optBox );
+      myElemSizeWeight->RangeStepAndValidator( 0., 1., 0.1, "parametric_precision" );
+      optLayout->addWidget( myElemSizeWeight, row, 1 );
+      row++;
+
       optLayout->addWidget( new QLabel( tr( "NETGEN_NB_SURF_OPT_STEPS" ), optBox ), row, 0 );
       myNbSurfOptSteps = new SalomeApp_IntSpinBox( optBox );
       myNbSurfOptSteps->setMinimum( 0 );
@@ -515,24 +513,37 @@ QFrame* NETGENPluginGUI_HypothesisCreator::buildFrame()
     insLayout->setSpacing( 6 );
 
     int row = 0;
-    insLayout->addWidget( new QLabel( tr( "NETGEN_WORST_ELEM_MEASURE" ), insGroup ), row, 0 );
-    myWorstElemMeasure = new SalomeApp_IntSpinBox( insGroup );
-    myWorstElemMeasure->setMinimum( 1 );
-    myWorstElemMeasure->setMaximum( 10 );
-    insLayout->addWidget( myWorstElemMeasure, row, 1, 1, 2 );
-    row++;
+    myWorstElemMeasure = 0;
+    myUseDelauney = 0;
+    if ( !myIs2D )
+    {
+      insLayout->addWidget( new QLabel( tr( "NETGEN_WORST_ELEM_MEASURE" ), insGroup ), row, 0 );
+      myWorstElemMeasure = new SalomeApp_IntSpinBox( insGroup );
+      myWorstElemMeasure->setMinimum( 1 );
+      myWorstElemMeasure->setMaximum( 10 );
+      insLayout->addWidget( myWorstElemMeasure, row, 1, 1, 2 );
+      row++;
 
-    myUseDelauney = new QCheckBox( tr( "NETGEN_USE_DELAUNEY" ), insGroup );
-    insLayout->addWidget( myUseDelauney, row, 0, 1, 2 );
-    row++;
+      myUseDelauney = new QCheckBox( tr( "NETGEN_USE_DELAUNEY" ), insGroup );
+      insLayout->addWidget( myUseDelauney, row, 0, 1, 2 );
+      row++;
+    }
 
-    myCheckOverlapping = new QCheckBox( tr( "NETGEN_CHECK_OVERLAPPING" ), insGroup );
-    insLayout->addWidget( myCheckOverlapping, row, 0, 1, 2 );
-    row++;
+    myCheckOverlapping = 0;
+    if ( myIs2D || !myIsONLY ) // 2D options
+    {
+      myCheckOverlapping = new QCheckBox( tr( "NETGEN_CHECK_OVERLAPPING" ), insGroup );
+      insLayout->addWidget( myCheckOverlapping, row, 0, 1, 2 );
+      row++;
+    }
 
-    myCheckChartBoundary = new QCheckBox( tr( "NETGEN_CHECK_CHART_BOUNDARY" ), insGroup );
-    insLayout->addWidget( myCheckChartBoundary, row, 0, 1, 2 );
-    row++;
+    myCheckChartBoundary = 0;
+    if ( isRemesher )
+    {
+      myCheckChartBoundary = new QCheckBox( tr( "NETGEN_CHECK_CHART_BOUNDARY" ), insGroup );
+      insLayout->addWidget( myCheckChartBoundary, row, 0, 1, 2 );
+      row++;
+    }
 
     myFuseEdges = 0;
     if ( !myIsONLY && !isRemesher )
@@ -590,9 +601,12 @@ void NETGENPluginGUI_HypothesisCreator::retrieveParams() const
   if (myFuseEdges)
     myFuseEdges->setChecked( data.myFuseEdges );
   setTextOrVar( myWorstElemMeasure, data.myWorstElemMeasure, data.myWorstElemMeasureVar );
-  myUseDelauney->setChecked( data.myUseDelauney );
-  myCheckOverlapping->setChecked( data.myCheckOverlapping );
-  myCheckChartBoundary->setChecked( data.myCheckChartBoundary );
+  if ( myUseDelauney )
+    myUseDelauney->setChecked( data.myUseDelauney );
+  if ( myCheckOverlapping )
+    myCheckOverlapping->setChecked( data.myCheckOverlapping );
+  if ( myCheckChartBoundary )
+    myCheckChartBoundary->setChecked( data.myCheckChartBoundary );
 
   if ( myRidgeAngle )
   {
@@ -824,9 +838,9 @@ bool NETGENPluginGUI_HypothesisCreator::storeParamsToHypo( const NetgenHypothesi
     h->SetVarParameter    ( h_data.myWorstElemMeasureVar.toLatin1().constData(), "SetWorstElemMeasure");
     h->SetWorstElemMeasure( h_data.myWorstElemMeasure );
 
-    h->SetUseDelauney( myUseDelauney );
-    h->SetCheckOverlapping( myCheckOverlapping );
-    h->SetCheckChartBoundary( myCheckChartBoundary );
+    h->SetUseDelauney( h_data.myUseDelauney );
+    h->SetCheckOverlapping( h_data.myCheckOverlapping );
+    h->SetCheckChartBoundary( h_data.myCheckChartBoundary );
     
     //if ( myIs2D )
     {
@@ -874,7 +888,7 @@ bool NETGENPluginGUI_HypothesisCreator::storeParamsToHypo( const NetgenHypothesi
 
         rh->SetKeepExistingEdges      ( h_data.myKeepExistingEdges );
         rh->SetMakeGroupsOfSurfaces   ( h_data.myMakeGroupsOfSurfaces );
-        rh->SetFixedEdgeGroup         ( 0 );
+        //rh->SetFixedEdgeGroup         ( -1 );
       }
     }
     for ( QMapIterator<QString,QString> i(myLocalSizeMap); i.hasNext(); )
@@ -938,8 +952,11 @@ bool NETGENPluginGUI_HypothesisCreator::readParamsFromWidgets( NetgenHypothesisD
   if ( myFuseEdges )
     h_data.myFuseEdges = myFuseEdges->isChecked();
 
-  h_data.myElemSizeWeight    = myElemSizeWeight->value();
-  h_data.myElemSizeWeightVar = myElemSizeWeight->text();
+  if ( myElemSizeWeight )
+  {
+    h_data.myElemSizeWeight    = myElemSizeWeight->value();
+    h_data.myElemSizeWeightVar = myElemSizeWeight->text();
+  }
   if ( myNbSurfOptSteps )
   {
     h_data.myNbSurfOptSteps    = myNbSurfOptSteps->value();
@@ -950,12 +967,19 @@ bool NETGENPluginGUI_HypothesisCreator::readParamsFromWidgets( NetgenHypothesisD
     h_data.myNbVolOptSteps    = myNbVolOptSteps->value();
     h_data.myNbVolOptStepsVar = myNbVolOptSteps->text();
   }
-  h_data.myWorstElemMeasure    = myWorstElemMeasure->value();
-  h_data.myWorstElemMeasureVar = myWorstElemMeasure->text();
+  if ( myWorstElemMeasure )
+  {
+    h_data.myWorstElemMeasure    = myWorstElemMeasure->value();
+    h_data.myWorstElemMeasureVar = myWorstElemMeasure->text();
+  }
+  if ( myUseDelauney )
+    h_data.myUseDelauney        = myUseDelauney->isChecked();
+
+  if ( myCheckOverlapping )
+    h_data.myCheckOverlapping   = myCheckOverlapping->isChecked();
 
-  h_data.myUseDelauney        = myUseDelauney->isChecked();
-  h_data.myCheckOverlapping   = myCheckOverlapping->isChecked();
-  h_data.myCheckChartBoundary = myCheckChartBoundary->isChecked();
+  if ( myCheckChartBoundary )
+    h_data.myCheckChartBoundary = myCheckChartBoundary->isChecked();
 
   if ( myRidgeAngle )
   {