✨ feat(data_processing.py): remove deprecated get_discrete_vertices2 method and rename get_discrete_vertices3 to get_discrete_vertices. Simplify get_discrete_vertices method by removing the selection of the discretisation method from the settings and always using the Z0-Zi < DeltaZ method. This improves code readability and maintainability. ✨ feat(input.py): remove deprecated result_file_path and bruteforce_discretization_result attributes from ScannedObject class. Add old_delta, old_discrete, and old_discrete_type attributes to cache the results of the get_discrete_vertices method. This improves performance by avoiding unnecessary recomputations of the discretized vertices. ✨ feat(MainWindow.py): add support for selecting a layer to display discrete graphs for. Add two new graph types: "Coupe de la couche" and "Difference entre le rayon de chaque points 🔧 fix(ui): change tab index to display the correct tab on startup ✨ feat(ui): add label and combobox to select layer to display 🔧 fix(worker): add discretisation_value parameter to PreProcessWorker constructor ✨ feat(math): add get_true_teta_from_x_y, get_difference_from_mean_value, and get_distance_between_two_vertices functions The UI fix changes the tab index to display the correct tab on startup. The new label and combobox allow the user to select the layer to display. The worker fix adds a discretisation_value parameter to the PreProcessWorker constructor. The new math functions are get_true_teta_from_x_y, get_difference_from_mean_value, and get_distance_between_two_vertices. These functions are useful for calculating teta, differences from mean values, and distances between vertices.
502 lines
17 KiB
XML
502 lines
17 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>MainWindow</class>
|
|
<widget class="QMainWindow" name="MainWindow">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>1419</width>
|
|
<height>842</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Analyse Morphologique</string>
|
|
</property>
|
|
<widget class="QWidget" name="centralwidget">
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="1" column="0">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
<item>
|
|
<widget class="QWidget" name="MainSettings" native="true">
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>331</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>518</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="0" column="0">
|
|
<layout class="QVBoxLayout" name="MainSettingsLayout">
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<widget class="QLabel" name="input_file_label">
|
|
<property name="text">
|
|
<string>Chemin du fichier .obj</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="input_file_choose_btn">
|
|
<property name="text">
|
|
<string>Choisir le fichier</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QPlainTextEdit" name="input_file_path"/>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<item>
|
|
<widget class="QLabel" name="output_folder_label">
|
|
<property name="text">
|
|
<string>Repertoire de sortie</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="output_folder_choose_btn">
|
|
<property name="text">
|
|
<string>Choisir le repertoire</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QPlainTextEdit" name="output_folder_path"/>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
<item>
|
|
<widget class="QLabel" name="output_file_prefix_label">
|
|
<property name="text">
|
|
<string>Préfix du fichier de sortie</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="output_file_prefix"/>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item alignment="Qt::AlignHCenter">
|
|
<widget class="QLabel" name="discretisation_label">
|
|
<property name="text">
|
|
<string>Discretisation (en mm)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDoubleSpinBox" name="discretisation_value_selector">
|
|
<property name="minimum">
|
|
<double>0.000000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>1.000000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QProgressBar" name="analyse_progress_bar">
|
|
<property name="value">
|
|
<number>0</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="graphs_params_layout">
|
|
<item>
|
|
<widget class="QCheckBox" name="show_graph_checkbox">
|
|
<property name="text">
|
|
<string>afficher les graphes</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Nombre de graphes :</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="graph_nb_spinbox">
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="buttonSymbols">
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="start_analyse_button">
|
|
<property name="text">
|
|
<string>Analyser le fichier</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="status_text">
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QWidget" name="Graphs" native="true">
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>700</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_3">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="layer_label">
|
|
<property name="text">
|
|
<string>Numero de la couche a afficher :</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QTabWidget" name="tabWidget">
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="currentIndex">
|
|
<number>1</number>
|
|
</property>
|
|
<widget class="QWidget" name="tab">
|
|
<property name="enabled">
|
|
<bool>true</bool>
|
|
</property>
|
|
<attribute name="title">
|
|
<string>1</string>
|
|
</attribute>
|
|
<layout class="QGridLayout" name="gridLayout_5">
|
|
<item row="0" column="1">
|
|
<widget class="QFrame" name="slot1_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_10">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot1"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot1ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QFrame" name="slot2_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_11">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot2"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot2ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QFrame" name="slot3_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_12">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot3"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot3ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QFrame" name="slot0_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_8">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot0"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot0ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="tab_2">
|
|
<attribute name="title">
|
|
<string>2</string>
|
|
</attribute>
|
|
<layout class="QGridLayout" name="gridLayout_13">
|
|
<item row="1" column="1">
|
|
<widget class="QFrame" name="slot5_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_18">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot5"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot5ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QFrame" name="slot4_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_17">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot4"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot4ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QFrame" name="slot6_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_19">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot6"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot6ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QFrame" name="slot7_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_20">
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot7"/>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot7ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="tab_3">
|
|
<attribute name="title">
|
|
<string>3</string>
|
|
</attribute>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
<item>
|
|
<widget class="QFrame" name="slot8_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_7">
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot8ComboBox"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot8"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QFrame" name="slot9_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_6">
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot9ComboBox"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot9"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="tab_4">
|
|
<attribute name="title">
|
|
<string>4</string>
|
|
</attribute>
|
|
<layout class="QGridLayout" name="gridLayout_4">
|
|
<item row="0" column="0">
|
|
<widget class="QFrame" name="slot10_frame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_9">
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="slot10ComboBox"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<layout class="QGridLayout" name="slot10"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QComboBox" name="layer_ComboBox"/>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QMenuBar" name="menuBar">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>1419</width>
|
|
<height>22</height>
|
|
</rect>
|
|
</property>
|
|
<widget class="QMenu" name="menuRichier">
|
|
<property name="title">
|
|
<string>Fichier</string>
|
|
</property>
|
|
<addaction name="actionOuvrir_un_fichier"/>
|
|
<addaction name="actionSauvegarder_le_model_redress"/>
|
|
<addaction name="separator"/>
|
|
<addaction name="actionPr_f_rennces"/>
|
|
<addaction name="separator"/>
|
|
<addaction name="actionQuitter"/>
|
|
</widget>
|
|
<widget class="QMenu" name="menuA_propos">
|
|
<property name="title">
|
|
<string>A propos</string>
|
|
</property>
|
|
<addaction name="actionQ_propos_de_ce_logiciel"/>
|
|
</widget>
|
|
<addaction name="menuRichier"/>
|
|
<addaction name="menuA_propos"/>
|
|
</widget>
|
|
<action name="actionOuvrir_un_fichier">
|
|
<property name="text">
|
|
<string>Ouvrir un fichier</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionSauvegarder_le_model_redress">
|
|
<property name="text">
|
|
<string>Sauvegarder le model 3D redressé</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionPr_f_rennces">
|
|
<property name="text">
|
|
<string>Préférences</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionQuitter">
|
|
<property name="text">
|
|
<string>Quitter</string>
|
|
</property>
|
|
</action>
|
|
<action name="actionQ_propos_de_ce_logiciel">
|
|
<property name="text">
|
|
<string>A propos de ce logiciel</string>
|
|
</property>
|
|
</action>
|
|
</widget>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|