mirror of https://github.com/CGAL/cgal
Fix UI + fix connections
This commit is contained in:
parent
41bddc72d6
commit
b6cc7cabc5
|
|
@ -3,7 +3,7 @@
|
||||||
<class>DisplayPropertyWidget</class>
|
<class>DisplayPropertyWidget</class>
|
||||||
<widget class="QDockWidget" name="DisplayPropertyWidget">
|
<widget class="QDockWidget" name="DisplayPropertyWidget">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
|
|
@ -39,9 +39,18 @@
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="2">
|
||||||
<widget class="QGroupBox" name="propertyGroup">
|
<widget class="QGroupBox" name="propertyGroup">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Property</string>
|
<string>Property</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
|
|
@ -82,174 +91,47 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="expandingRadiusSlider">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="tracking">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="invertedAppearance">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="invertedControls">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="tickPosition">
|
||||||
|
<enum>QSlider::TicksAbove</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="expandingRadiusLabel">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Expanding Radius: 0</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<layout class="QGridLayout" name="ColoringGroup" columnstretch="50,50">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<spacer name="verticalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QGroupBox" name="coloringChoiceGroup">
|
|
||||||
<property name="title">
|
|
||||||
<string>Color Visualization</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="50,50">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="8" column="0">
|
|
||||||
<widget class="QRadioButton" name="randomColorsRadioButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Random colors</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QPushButton" name="minColorButton">
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="0">
|
|
||||||
<widget class="QLabel" name="initColorLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>First color</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="maxColorLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Max color</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0" colspan="2">
|
|
||||||
<widget class="QRadioButton" name="colorRampRadioButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Color Ramp</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1">
|
|
||||||
<widget class="QPushButton" name="initColorButton">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1">
|
|
||||||
<widget class="QPushButton" name="maxColorButton">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="minColorLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Min color</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="1">
|
|
||||||
<widget class="QSlider" name="expandingRadiusSlider">
|
|
||||||
<property name="minimum">
|
|
||||||
<float>0</float>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<float>100</float>
|
|
||||||
</property>
|
|
||||||
<property name="tracking">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="tickPosition">
|
|
||||||
<enum>QSlider::TicksAbove</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1">
|
|
||||||
<widget class="QLabel" name="expandingRadiusLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Expanding Radius: 0</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<spacer name="verticalSpacer_4">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1" rowspan="3">
|
|
||||||
<widget class="QScrollArea" name="scrollArea">
|
|
||||||
<property name="widgetResizable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>236</width>
|
|
||||||
<height>397</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
|
||||||
<item row="0" column="0" alignment="Qt::AlignHCenter">
|
|
||||||
<widget class="QLabel" name="legendLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>RAMP DISPLAYING</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="0">
|
<item row="11" column="0">
|
||||||
<widget class="QGroupBox" name="extremeValuesGroup">
|
<widget class="QGroupBox" name="extremeValuesGroup">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
|
|
@ -313,6 +195,148 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<layout class="QGridLayout" name="ColoringGroup" columnstretch="0,0">
|
||||||
|
<item row="6" column="0">
|
||||||
|
<spacer name="verticalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1" rowspan="3">
|
||||||
|
<widget class="QScrollArea" name="scrollArea">
|
||||||
|
<property name="widgetResizable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>236</width>
|
||||||
|
<height>335</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
|
<item row="0" column="0" alignment="Qt::AlignHCenter">
|
||||||
|
<widget class="QLabel" name="legendLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>RAMP DISPLAYING</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QGroupBox" name="coloringChoiceGroup">
|
||||||
|
<property name="title">
|
||||||
|
<string>Color Visualization</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2" columnstretch="50,50">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QPushButton" name="maxColorButton">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="maxColorLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Max color</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QPushButton" name="minColorButton">
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<widget class="QRadioButton" name="colorRampRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Color Ramp</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="1">
|
||||||
|
<widget class="QPushButton" name="initColorButton">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="minColorLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Min color</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0">
|
||||||
|
<widget class="QLabel" name="initColorLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>First color</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QRadioButton" name="randomColorsRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Random colors</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_6"/>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,8 @@ private:
|
||||||
double gI = 1.;
|
double gI = 1.;
|
||||||
double bI = 0.;
|
double bI = 0.;
|
||||||
|
|
||||||
double expand_radius = 0;
|
double expand_radius = 0.;
|
||||||
double maxEdgeLength = -1;
|
double maxEdgeLength = -1.;
|
||||||
|
|
||||||
Color_ramp color_ramp;
|
Color_ramp color_ramp;
|
||||||
std::vector<QColor> color_map;
|
std::vector<QColor> color_map;
|
||||||
|
|
@ -209,8 +209,8 @@ public:
|
||||||
connect(dock_widget->zoomToMaxButton, &QPushButton::pressed,
|
connect(dock_widget->zoomToMaxButton, &QPushButton::pressed,
|
||||||
this, &Display_property_plugin::on_zoomToMaxButton_pressed);
|
this, &Display_property_plugin::on_zoomToMaxButton_pressed);
|
||||||
|
|
||||||
connect(dock_widget->expandingRadiusSlider, SIGNAL(valueChanged(int)),
|
connect(dock_widget->expandingRadiusSlider, &QSlider::valueChanged,
|
||||||
this, SLOT(setExpandingRadius(int)));
|
this, &Display_property_plugin::setExpandingRadius);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
|
|
@ -512,6 +512,15 @@ private Q_SLOTS:
|
||||||
{
|
{
|
||||||
dock_widget->setEnabled(true);
|
dock_widget->setEnabled(true);
|
||||||
disableExtremeValues(); // only available after coloring
|
disableExtremeValues(); // only available after coloring
|
||||||
|
|
||||||
|
// Curvature property-specific slider
|
||||||
|
const std::string& property_name = dock_widget->propertyBox->currentText().toStdString();
|
||||||
|
const bool is_curvature_property = (property_name == "Interpolated Corrected Mean Curvature" ||
|
||||||
|
property_name == "Interpolated Corrected Gaussian Curvature");
|
||||||
|
dock_widget->expandingRadiusLabel->setVisible(is_curvature_property);
|
||||||
|
dock_widget->expandingRadiusSlider->setVisible(is_curvature_property);
|
||||||
|
dock_widget->expandingRadiusLabel->setEnabled(is_curvature_property);
|
||||||
|
dock_widget->expandingRadiusSlider->setEnabled(is_curvature_property);
|
||||||
}
|
}
|
||||||
else // no or broken property
|
else // no or broken property
|
||||||
{
|
{
|
||||||
|
|
@ -854,11 +863,12 @@ private:
|
||||||
displaySMProperty<face_descriptor>("f:display_plugin_area", *sm);
|
displaySMProperty<face_descriptor>("f:display_plugin_area", *sm);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setExpandingRadius(const int val_int)
|
private Q_SLOTS:
|
||||||
|
void setExpandingRadius()
|
||||||
{
|
{
|
||||||
double sliderMin = dock_widget->expandingRadiusSlider->minimum();
|
double sliderMin = dock_widget->expandingRadiusSlider->minimum();
|
||||||
double sliderMax = dock_widget->expandingRadiusSlider->maximum() - sliderMin;
|
double sliderMax = dock_widget->expandingRadiusSlider->maximum() - sliderMin;
|
||||||
double val = val_int - sliderMin;
|
double val = dock_widget->expandingRadiusSlider->value() - sliderMin;
|
||||||
sliderMin = 0;
|
sliderMin = 0;
|
||||||
|
|
||||||
Scene_item* item = scene->item(scene->mainSelectionIndex());
|
Scene_item* item = scene->item(scene->mainSelectionIndex());
|
||||||
|
|
@ -878,7 +888,7 @@ private:
|
||||||
if(num_edges(smesh) == 0)
|
if(num_edges(smesh) == 0)
|
||||||
{
|
{
|
||||||
expand_radius = 0;
|
expand_radius = 0;
|
||||||
dock_widget->expandingRadiusLabel->setText(tr("Expanding Radius : %1").arg(expand_radius));
|
dock_widget->expandingRadiusLabel->setText(tr("Expanding Radius: %1").arg(expand_radius));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -901,9 +911,10 @@ private:
|
||||||
double outMax = 5 * maxEdgeLength, base = 1.2;
|
double outMax = 5 * maxEdgeLength, base = 1.2;
|
||||||
|
|
||||||
expand_radius = (pow(base, val) - 1) * outMax / (pow(base, sliderMax) - 1);
|
expand_radius = (pow(base, val) - 1) * outMax / (pow(base, sliderMax) - 1);
|
||||||
dock_widget->expandingRadiusLabel->setText(tr("Expanding Radius : %1").arg(expand_radius));
|
dock_widget->expandingRadiusLabel->setText(tr("Expanding Radius: %1").arg(expand_radius));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
void displayInterpolatedCurvatureMeasure(Scene_surface_mesh_item* item,
|
void displayInterpolatedCurvatureMeasure(Scene_surface_mesh_item* item,
|
||||||
CurvatureType mu_index)
|
CurvatureType mu_index)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue