Update Smoothing Polyhedron GUI

and clean some sneaky use_explicit
This commit is contained in:
Mael Rouxel-Labbé 2019-06-07 10:52:31 +02:00
parent bac2593797
commit ba36b7cd41
3 changed files with 46 additions and 36 deletions

View File

@ -359,13 +359,6 @@ Parameter used in `clip()` functions to clip a volume rather than a surface.
<b>Default:</b> `false` <b>Default:</b> `false`
\cgalNPEnd \cgalNPEnd
\cgalNPBegin{use_explicit_scheme} \anchor PMP_use_explicit_scheme
A flag to indicate whether a normalized explicit scheme for smoothing along the curvature flow is used instead of solving a linear system.
\n
\b Type : `bool` \n
\b Default is `false`
\cgalNPEnd
\cgalNPBegin{use_compact_clipper} \anchor PMP_use_compact_clipper \cgalNPBegin{use_compact_clipper} \anchor PMP_use_compact_clipper
Parameter used in `clip()` functions to indicate whether the boundary of the clipper Parameter used in `clip()` functions to indicate whether the boundary of the clipper
should be considered as part of the clipping volume or not. should be considered as part of the clipping volume or not.

View File

@ -158,7 +158,7 @@ public Q_SLOTS:
const unsigned int nb_iter = ui_widget.smooth_iter_spinBox->value(); const unsigned int nb_iter = ui_widget.smooth_iter_spinBox->value();
const bool projection = ui_widget.projection_checkBox->isChecked(); const bool projection = ui_widget.projection_checkBox->isChecked();
const bool ignore_safety_measures = true; //ui_widget.use_safety_measures_checkBox->isChecked(); @fixme const bool ignore_safety_measures = ui_widget.sanity_checkBox->isChecked();
const bool constrain_border_vertices = ui_widget.border_button->isChecked() && !CGAL::is_closed(pmesh); const bool constrain_border_vertices = ui_widget.border_button->isChecked() && !CGAL::is_closed(pmesh);
const bool use_angle_smoothing = ui_widget.angle_smoothing_checkBox->isChecked(); const bool use_angle_smoothing = ui_widget.angle_smoothing_checkBox->isChecked();
const bool use_area_smoothing = ui_widget.area_smoothing_checkBox->isChecked(); const bool use_area_smoothing = ui_widget.area_smoothing_checkBox->isChecked();
@ -278,7 +278,6 @@ public Q_SLOTS:
const unsigned int nb_iter = ui_widget.smooth_iter_spinBox->value(); const unsigned int nb_iter = ui_widget.smooth_iter_spinBox->value();
const bool constrain_border_vertices = ui_widget.border_button->isChecked() && !CGAL::is_closed(pmesh); const bool constrain_border_vertices = ui_widget.border_button->isChecked() && !CGAL::is_closed(pmesh);
const bool use_explicit = ui_widget.explicit_checkBox->isChecked();
QApplication::setOverrideCursor(Qt::WaitCursor); QApplication::setOverrideCursor(Qt::WaitCursor);

View File

@ -17,6 +17,9 @@
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="1"> <item row="0" column="1">
<widget class="QSpinBox" name="smooth_iter_spinBox"> <widget class="QSpinBox" name="smooth_iter_spinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum"> <property name="maximum">
<number>1000</number> <number>1000</number>
</property> </property>
@ -33,12 +36,8 @@
<property name="decimals"> <property name="decimals">
<number>6</number> <number>6</number>
</property> </property>
</widget> <property name="minimum">
</item> <double>0.000001000000000</double>
<item row="5" column="0">
<widget class="QCheckBox" name="explicit_checkBox">
<property name="text">
<string>Use Explicit Scheme</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -51,6 +50,9 @@
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="time_step_label"> <widget class="QLabel" name="time_step_label">
<property name="toolTip">
<string>The time step should not be too large or the smoothing will be unsatisfactory</string>
</property>
<property name="text"> <property name="text">
<string>Time Step:</string> <string>Time Step:</string>
</property> </property>
@ -61,18 +63,14 @@
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QCheckBox" name="border_button"> <widget class="QCheckBox" name="border_button">
<property name="toolTip">
<string>If you are using a selection item, this will combine your selected vertices and the border vertices</string>
</property>
<property name="text"> <property name="text">
<string>Constrain Border Vertices</string> <string>Constrain Border Vertices</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QCheckBox" name="projection_checkBox">
<property name="text">
<string> Re-project Vertices</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
@ -99,7 +97,30 @@
<string>Mesh Smoothing</string> <string>Mesh Smoothing</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="1"> <item row="4" column="1">
<widget class="QPushButton" name="mesh_smoothing_button">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Smooth Mesh</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="sanity_checkBox">
<property name="toolTip">
<string>By default, a serie of checks are performed when a displacement is computed (e.g. is the minimul angle around the vertex not reduced?). However, sometimes local bad moves are necessary to achieve a better result overall.</string>
</property>
<property name="text">
<string>Do not apply worsening moves</string>
</property>
</widget>
</item>
<item row="5" column="1">
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -119,19 +140,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1">
<widget class="QPushButton" name="mesh_smoothing_button">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Smooth Mesh</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QCheckBox" name="angle_smoothing_checkBox"> <widget class="QCheckBox" name="angle_smoothing_checkBox">
<property name="text"> <property name="text">
@ -139,6 +147,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QCheckBox" name="projection_checkBox">
<property name="toolTip">
<string>Reprojection on the initial surface will not happen if there are self-intersections in the mesh, except if worsening moves are allowed (the option just above).</string>
</property>
<property name="text">
<string>Re-project Vertices</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>