summaryrefslogtreecommitdiff
path: root/GudhUI/gui
diff options
context:
space:
mode:
Diffstat (limited to 'GudhUI/gui')
-rw-r--r--GudhUI/gui/KNearestNeighborsMenu.ui150
-rw-r--r--GudhUI/gui/MainWindow.cpp299
-rw-r--r--GudhUI/gui/MainWindow.h118
-rw-r--r--GudhUI/gui/MenuEdgeContraction.ui118
-rw-r--r--GudhUI/gui/Menu_edge_contraction.cpp97
-rw-r--r--GudhUI/gui/Menu_edge_contraction.h60
-rw-r--r--GudhUI/gui/Menu_k_nearest_neighbors.cpp59
-rw-r--r--GudhUI/gui/Menu_k_nearest_neighbors.h51
-rw-r--r--GudhUI/gui/Menu_persistence.cpp53
-rw-r--r--GudhUI/gui/Menu_persistence.h51
-rw-r--r--GudhUI/gui/Menu_uniform_neighbors.cpp60
-rw-r--r--GudhUI/gui/Menu_uniform_neighbors.h51
-rw-r--r--GudhUI/gui/PersistenceMenu.ui139
-rw-r--r--GudhUI/gui/UniformNeighborsMenu.ui153
-rw-r--r--GudhUI/gui/gudhui.cpp38
-rw-r--r--GudhUI/gui/main_window.ui255
16 files changed, 0 insertions, 1752 deletions
diff --git a/GudhUI/gui/KNearestNeighborsMenu.ui b/GudhUI/gui/KNearestNeighborsMenu.ui
deleted file mode 100644
index 472db48b..00000000
--- a/GudhUI/gui/KNearestNeighborsMenu.ui
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>KNearestNeighborsMenu</class>
- <widget class="QDialog" name="KNearestNeighborsMenu">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>298</width>
- <height>209</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>k-nearest neighbors</string>
- </property>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="geometry">
- <rect>
- <x>50</x>
- <y>160</y>
- <width>171</width>
- <height>32</height>
- </rect>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- <widget class="QWidget" name="formLayoutWidget">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>10</y>
- <width>229</width>
- <height>84</height>
- </rect>
- </property>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>k </string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QSpinBox" name="spinBoxK">
- <property name="maximum">
- <number>10000000</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Metric</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="comboBoxMetric">
- <item>
- <property name="text">
- <string>Ambient</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Reduced Space</string>
- </property>
- </item>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="gridLayoutWidget">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>110</y>
- <width>250</width>
- <height>40</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="1">
- <widget class="QPushButton" name="pushButtonCompute">
- <property name="text">
- <string>Compute</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QCheckBox" name="checkBoxAutoUpdate">
- <property name="text">
- <string>auto update</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>KNearestNeighborsMenu</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel">
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>KNearestNeighborsMenu</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel">
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/GudhUI/gui/MainWindow.cpp b/GudhUI/gui/MainWindow.cpp
deleted file mode 100644
index b11b80e9..00000000
--- a/GudhUI/gui/MainWindow.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "MainWindow.h"
-
-#include <QWidget>
-#include <QInputDialog>
-#include <QFileDialog>
-
-#include <fenv.h>
-
-#include "gui/Menu_k_nearest_neighbors.h"
-#include "gui/Menu_uniform_neighbors.h"
-#include "gui/Menu_edge_contraction.h"
-#include "gui/Menu_persistence.h"
-
-MainWindow::MainWindow(QWidget* parent) :
- menu_k_nearest_neighbors_(new Menu_k_nearest_neighbors(this)),
- menu_uniform_neighbors_(new Menu_uniform_neighbors(this)),
- menu_edge_contraction_(new Menu_edge_contraction(this, model_)),
- menu_persistence_(new Menu_persistence(this)) {
- // #ifndef NDEBUG // catch nan
- // feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
- // #endif
-
- setupUi(this);
-
- viewer_instructor_ = new Viewer_instructor(
- this,
- this->viewer,
- model_.complex_);
-
- connectActions();
-
- update_view();
-}
-
-void
-MainWindow::closeEvent(QCloseEvent *event) {
- exit(0);
-}
-
-void
-MainWindow::connectActions() {
- QObject::connect(this->actionLoad_complex, SIGNAL(triggered()), this,
- SLOT(off_file_open()));
- QObject::connect(this->actionLoad_points, SIGNAL(triggered()), this,
- SLOT(off_points_open()));
- QObject::connect(this->actionSave_complex, SIGNAL(triggered()), this,
- SLOT(off_file_save()));
- QObject::connect(this->actionSave_points, SIGNAL(triggered()), this,
- SLOT(off_points_save()));
-
- QObject::connect(this->actionShow_graph_stats, SIGNAL(triggered()), this,
- SLOT(show_graph_stats()));
- QObject::connect(this->actionShow_complex_stats, SIGNAL(triggered()), this,
- SLOT(show_complex_stats()));
- QObject::connect(this->actionShow_complex_dimension, SIGNAL(triggered()), this,
- SLOT(show_complex_dimension()));
-
- QObject::connect(this->actionUniform_proximity_graph, SIGNAL(triggered()), this,
- SLOT(build_rips_menu()));
- QObject::connect(this->actionK_nearest_neighbors_graph, SIGNAL(triggered()), this,
- SLOT(build_k_nearest_neighbors_menu()));
-
-
- QObject::connect(this->actionContract_edges, SIGNAL(triggered()), this,
- SLOT(contract_edge_menu()));
-
- QObject::connect(this->actionCollapse_vertices, SIGNAL(triggered()), this,
- SLOT(collapse_vertices()));
-
- QObject::connect(this->actionCollapse_edges, SIGNAL(triggered()), this,
- SLOT(collapse_edges()));
-
- QObject::connect(this->actionNoise, SIGNAL(triggered()), this,
- SLOT(uniform_noise()));
- QObject::connect(this->actionLloyd, SIGNAL(triggered()), this,
- SLOT(lloyd()));
-
-
- // view
- QObject::connect(this->actionPoints, SIGNAL(triggered()), this->viewer_instructor_,
- SLOT(change_draw_vertices()));
- QObject::connect(this->actionEdges, SIGNAL(triggered()), this->viewer_instructor_,
- SLOT(change_draw_edges()));
- QObject::connect(this->actionTriangles, SIGNAL(triggered()), this->viewer_instructor_,
- SLOT(change_draw_triangles()));
-
- // topology
- QObject::connect(this->actionShow_homology_group, SIGNAL(triggered()), this,
- SLOT(show_homology_group()));
- QObject::connect(this->actionEuler_characteristic, SIGNAL(triggered()), this,
- SLOT(show_euler_characteristic()));
- QObject::connect(this->actionPersistence, SIGNAL(triggered()), this,
- SLOT(persistence_menu()));
- QObject::connect(this->actionEstimate_topological_changes, SIGNAL(triggered()), this,
- SLOT(critical_points_menu()));
- QObject::connect(this->actionIs_manifold, SIGNAL(triggered()), this,
- SLOT(is_manifold_menu()));
-
-
- QObject::connect(this, SIGNAL(sceneChanged()), this->viewer_instructor_,
- SLOT(sceneChanged()));
-}
-
-void
-MainWindow::init_view() const {
- viewer_instructor_->initialize_bounding_box();
- viewer_instructor_->show_entire_scene();
- update_view();
-}
-
-void
-MainWindow::update_view() const {
- emit(sceneChanged());
-}
-
-/**
- * open a file chooser to choose an off to load
- */
-void
-MainWindow::off_file_open() {
- QString fileName = QFileDialog::getOpenFileName(this, tr("Open off File"),
- "~/", tr("off files (*.off)"));
- if (!fileName.isEmpty()) {
- model_.off_file_open(fileName.toStdString());
- init_view();
- }
-}
-
-void
-MainWindow::off_points_open() {
- QString fileName = QFileDialog::getOpenFileName(this, tr("Open points in a off file"),
- "~/", tr("off files (*.off)"));
- if (!fileName.isEmpty()) {
- model_.off_points_open(fileName.toStdString());
- init_view();
- }
-}
-
-/**
- * open a file chooser to choose an off to save
- */
-void
-MainWindow::off_file_save() {
- QString fileName = QFileDialog::getOpenFileName(this, tr("Save to off File"),
- "~/", tr("off files (*.off)"));
- if (!fileName.isEmpty()) {
- model_.off_file_save(fileName.toStdString());
- }
-}
-
-/**
- * open a file chooser to choose an off to save
- */
-void
-MainWindow::off_points_save() {
- QString fileName = QFileDialog::getOpenFileName(this, tr("Save to off File"),
- "~/", tr("off files (*.off)"));
- if (!fileName.isEmpty()) {
- model_.off_points_save(fileName.toStdString());
- }
-}
-
-void
-MainWindow::show_graph_stats() {
- model_.show_graph_stats();
-}
-
-void
-MainWindow::show_complex_stats() {
- model_.show_complex_stats();
-}
-
-void
-MainWindow::show_complex_dimension() {
- model_.show_complex_dimension();
-}
-
-void
-MainWindow::build_rips_menu() {
- menu_uniform_neighbors_->show();
-}
-
-void
-MainWindow::build_rips(double alpha) {
- model_.build_rips(alpha);
- update_view();
-}
-
-void
-MainWindow::build_k_nearest_neighbors_menu() {
- menu_k_nearest_neighbors_->show();
-}
-
-void
-MainWindow::build_k_nearest_neighbors(unsigned k) {
- model_.build_k_nearest_neighbors(k);
- update_view();
-}
-
-void
-MainWindow::contract_edge_menu() {
- menu_edge_contraction_->show();
-}
-
-void
-MainWindow::contract_edges(unsigned num_collapses) {
- std::cerr << "Collapse " << num_collapses << " vertices\n";
- model_.contract_edges(num_collapses);
- update_view();
-}
-
-void
-MainWindow::collapse_edges() {
- model_.collapse_edges(model_.num_edges());
- update_view();
-}
-
-void
-MainWindow::collapse_vertices() {
- std::cerr << "Collapse vertices edges\n";
- model_.collapse_vertices(0);
- update_view();
-}
-
-void
-MainWindow::uniform_noise() {
- bool ok;
- double amplitude = QInputDialog::getDouble(this, tr("Uniform noise"),
- tr("Amplitude:"), 0, 0, 10000, 3, &ok);
- srand(time(NULL));
- if (ok)
- model_.uniform_noise(amplitude);
-}
-
-void
-MainWindow::lloyd() {
- // todo 1 ask lloyd parameters
- model_.lloyd(0, 0);
- update_view();
-}
-
-void
-MainWindow::show_homology_group() {
- model_.show_homology_group();
-}
-
-void
-MainWindow::show_euler_characteristic() {
- model_.show_euler_characteristic();
-}
-
-void
-MainWindow::persistence_menu() {
- menu_persistence_->show();
-}
-
-void
-MainWindow::compute_persistence(int p, double threshold, int max_dim, double min_pers) {
- model_.show_persistence(p, threshold, max_dim, min_pers);
-}
-
-void
-MainWindow::critical_points_menu() {
- bool ok;
- double max_length = QInputDialog::getDouble(this, tr("Maximal edge length for the Rips"),
- tr("Maximal edge length:"), 0, 0, 10000, 3, &ok);
- if (ok)
- model_.show_critical_points(max_length);
-}
-
-void
-MainWindow::is_manifold_menu() {
- model_.show_is_manifold();
-}
-
-
-#include "MainWindow.moc"
diff --git a/GudhUI/gui/MainWindow.h b/GudhUI/gui/MainWindow.h
deleted file mode 100644
index 6076c2ee..00000000
--- a/GudhUI/gui/MainWindow.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_MAINWINDOW_H_
-#define GUI_MAINWINDOW_H_
-
-// Workaround https://svn.boost.org/trac/boost/ticket/12534
-#include <boost/container/flat_map.hpp>
-
-#include <QMainWindow>
-#include "ui_main_window.h"
-#include "model/Model.h"
-#include "view/Viewer_instructor.h"
-
-
-class Menu_k_nearest_neighbors;
-class Menu_uniform_neighbors;
-class Menu_edge_contraction;
-class Menu_persistence;
-
-class MainWindow : public QMainWindow, public Ui::MainWindow {
- Q_OBJECT
-
- private:
- Model model_;
- Viewer_instructor* viewer_instructor_;
- Menu_k_nearest_neighbors* menu_k_nearest_neighbors_;
- Menu_uniform_neighbors* menu_uniform_neighbors_;
- Menu_edge_contraction* menu_edge_contraction_;
- Menu_persistence* menu_persistence_;
-
- public:
- MainWindow(QWidget* parent = 0);
- void connectActions();
-
- /**
- * compute the bounding box and calls update view
- */
- void init_view() const;
- void update_view() const;
-
-
- protected:
- void closeEvent(QCloseEvent *event);
-
- void keyPressEvent(QKeyEvent *event) { }
-
- public:
- public slots:
- /**
- * open a file chooser to choose an off to load
- */
- void off_file_open();
-
- void off_points_open();
-
- /**
- * open a file chooser to choose an off to save
- */
- void off_file_save();
- void off_points_save();
-
- void show_graph_stats();
- void show_complex_stats();
- void show_complex_dimension();
-
-
- void build_rips_menu();
- void build_rips(double alpha);
- void build_k_nearest_neighbors_menu();
- void build_k_nearest_neighbors(unsigned k);
-
-
- void contract_edge_menu();
- void contract_edges(unsigned num_collapses);
-
-
- void collapse_vertices();
- void collapse_edges();
-
-
- void uniform_noise();
- void lloyd();
-
- void show_homology_group();
- void show_euler_characteristic();
- void persistence_menu();
- void compute_persistence(int p, double threshold, int max_dim, double min_pers);
- void critical_points_menu();
- void is_manifold_menu();
-
-
- public:
- signals:
- void sceneChanged() const;
-};
-
-
-#endif // GUI_MAINWINDOW_H_
diff --git a/GudhUI/gui/MenuEdgeContraction.ui b/GudhUI/gui/MenuEdgeContraction.ui
deleted file mode 100644
index b1696431..00000000
--- a/GudhUI/gui/MenuEdgeContraction.ui
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MenuEdgeContraction</class>
- <widget class="QDialog" name="MenuEdgeContraction">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>362</width>
- <height>209</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Edge contraction</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="5" column="2">
- <widget class="QSpinBox" name="spinBox_nb_remaining_vertices">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>999999999</number>
- </property>
- <property name="value">
- <number>1</number>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <widget class="QCheckBox" name="checkBox_link_condition">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Link condition</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="2" alignment="Qt::AlignRight">
- <widget class="QLabel" name="txt_nb_collapses">
- <property name="text">
- <string>1</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Policy</string>
- </property>
- </widget>
- </item>
- <item row="6" column="2">
- <widget class="QComboBox" name="m_simplificationMethod">
- <item>
- <property name="text">
- <string>Length_midpoint</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="2" column="2" alignment="Qt::AlignRight">
- <widget class="QLabel" name="txt_nb_vertices">
- <property name="text">
- <string>0</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Number of vertices</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Number of contractions</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="2">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Number of vertices after </string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QSlider" name="horizontalSlider">
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="pushButton_collapse">
- <property name="text">
- <string>Perform collapse</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/GudhUI/gui/Menu_edge_contraction.cpp b/GudhUI/gui/Menu_edge_contraction.cpp
deleted file mode 100644
index 041bdf9e..00000000
--- a/GudhUI/gui/Menu_edge_contraction.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_MENU_EDGE_CONTRACTION_CPP_
-#define GUI_MENU_EDGE_CONTRACTION_CPP_
-
-#include "Menu_edge_contraction.h"
-
-Menu_edge_contraction::Menu_edge_contraction(MainWindow* parent, const Model& model) :
- parent_(parent), model_(model) {
- setupUi(this);
- connectActions(parent_);
-}
-
-void Menu_edge_contraction::connectActions(MainWindow* parent) {
- QObject::connect(
- this->horizontalSlider,
- SIGNAL(valueChanged(int)),
- this,
- SLOT(slider_value_changed(int)));
-
-
- QObject::connect(this, SIGNAL(contract_edges(unsigned)), parent, SLOT(contract_edges(unsigned)));
-
- QObject::connect(this->pushButton_collapse, SIGNAL(clicked()), this, SLOT(send_contract_edges()));
-}
-
-void Menu_edge_contraction::slider_value_changed(int new_slider_value) {
- int num_collapses =
- (horizontalSlider->value() == 1) ? 1 : horizontalSlider->value() * model_.num_vertices() / 100;
- this->txt_nb_vertices->setNum(static_cast<int>(model_.num_vertices()));
- this->txt_nb_collapses->setNum(num_collapses);
- this->spinBox_nb_remaining_vertices->setValue(model_.num_vertices() - num_collapses);
-}
-
-void
-Menu_edge_contraction::update_slider_value() {
- int num_vertices = model_.num_vertices();
- int num_collapses = (horizontalSlider->value() == 1) ? 1 : horizontalSlider->value() * num_vertices / 100;
- int horizontal_slider_position = num_vertices > 0 ? num_collapses / static_cast<double>(num_vertices * 100) : 1;
- horizontalSlider->setValue(horizontal_slider_position);
-}
-
-void
-Menu_edge_contraction::update_gui_numbers() {
- update_slider_value();
- bool ok;
- int num_collapses = this->txt_nb_collapses->text().toInt(&ok, 10);
- if (!ok) return;
- this->txt_nb_vertices->setNum(static_cast<int>(model_.num_vertices()));
- this->txt_nb_collapses->setNum(num_collapses);
- this->spinBox_nb_remaining_vertices->setValue(model_.num_vertices() - num_collapses);
-}
-
-void
-Menu_edge_contraction::update_gui_numbers(int new_value) {
- update_gui_numbers();
-}
-
-void
-Menu_edge_contraction::send_contract_edges() {
- emit(contract_edges(num_collapses()));
- update_gui_numbers();
-}
-
-unsigned
-Menu_edge_contraction::num_vertices() {
- return model_.num_vertices();
-}
-
-unsigned
-Menu_edge_contraction::num_collapses() {
- return (horizontalSlider->value() == 1) ? 1 : horizontalSlider->value() * num_vertices() / 100;
-}
-
-#include "Menu_edge_contraction.moc"
-
-#endif // GUI_MENU_EDGE_CONTRACTION_CPP_
diff --git a/GudhUI/gui/Menu_edge_contraction.h b/GudhUI/gui/Menu_edge_contraction.h
deleted file mode 100644
index 0ef7b267..00000000
--- a/GudhUI/gui/Menu_edge_contraction.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_MENU_EDGE_CONTRACTION_H_
-#define GUI_MENU_EDGE_CONTRACTION_H_
-
-#include "gui/MainWindow.h"
-#include "ui_MenuEdgeContraction.h"
-
-#include "model/Model.h"
-
-class Menu_edge_contraction : public QDialog, public Ui::MenuEdgeContraction {
- Q_OBJECT
-
- private:
- MainWindow* parent_;
- const Model& model_;
-
- void update_slider_value();
-
- public:
- Menu_edge_contraction(MainWindow* parent, const Model& model);
-
- void connectActions(MainWindow* parent);
-
- private:
- unsigned num_vertices();
- unsigned num_collapses();
-
- public slots:
- void slider_value_changed(int new_slider_value);
- void update_gui_numbers();
- void update_gui_numbers(int gui_numbers);
-
- void send_contract_edges();
-
- signals:
- void contract_edges(unsigned num_collapses);
-};
-
-#endif // GUI_MENU_EDGE_CONTRACTION_H_
diff --git a/GudhUI/gui/Menu_k_nearest_neighbors.cpp b/GudhUI/gui/Menu_k_nearest_neighbors.cpp
deleted file mode 100644
index b1ad15c8..00000000
--- a/GudhUI/gui/Menu_k_nearest_neighbors.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "Menu_k_nearest_neighbors.h"
-
-Menu_k_nearest_neighbors::Menu_k_nearest_neighbors(QMainWindow* parent_)
- : parent(parent_) {
- setupUi(this);
- connectActions(parent_);
-}
-
-void Menu_k_nearest_neighbors::connectActions(QMainWindow* parent) {
- QObject::connect(this->pushButtonCompute,
- SIGNAL(clicked()),
- this,
- SLOT(send_compute_k_nearest_neighbors()));
- QObject::connect(this->spinBoxK,
- SIGNAL(valueChanged(int)),
- this,
- SLOT(update_k(int)));
- QObject::connect(this,
- SIGNAL(compute_k_nearest_neighbors(unsigned)),
- parent,
- SLOT(build_k_nearest_neighbors(unsigned)));
-}
-
-void Menu_k_nearest_neighbors::send_compute_k_nearest_neighbors() {
- emit(compute_k_nearest_neighbors((unsigned) spinBoxK->value()));
-}
-
-void Menu_k_nearest_neighbors::accept() {
- send_compute_k_nearest_neighbors();
-}
-
-void Menu_k_nearest_neighbors::update_k(int new_k_value) {
- if (checkBoxAutoUpdate->isChecked())
- emit(compute_k_nearest_neighbors((unsigned) spinBoxK->value()));
-}
-
-#include "Menu_k_nearest_neighbors.moc"
diff --git a/GudhUI/gui/Menu_k_nearest_neighbors.h b/GudhUI/gui/Menu_k_nearest_neighbors.h
deleted file mode 100644
index 56b5b63d..00000000
--- a/GudhUI/gui/Menu_k_nearest_neighbors.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_MENU_K_NEAREST_NEIGHBORS_H_
-#define GUI_MENU_K_NEAREST_NEIGHBORS_H_
-
-#include <QMainWindow>
-#include "ui_KNearestNeighborsMenu.h"
-
-class QWidget;
-
-class Menu_k_nearest_neighbors : public QDialog, public Ui::KNearestNeighborsMenu {
- Q_OBJECT
-
- private:
- QMainWindow* parent;
-
- public:
- Menu_k_nearest_neighbors(QMainWindow* parent_);
-
- void connectActions(QMainWindow* parent);
-
- public slots:
- void send_compute_k_nearest_neighbors();
- void update_k(int k);
- void accept();
-
- signals:
- void compute_k_nearest_neighbors(unsigned k);
-};
-
-#endif // GUI_MENU_K_NEAREST_NEIGHBORS_H_
diff --git a/GudhUI/gui/Menu_persistence.cpp b/GudhUI/gui/Menu_persistence.cpp
deleted file mode 100644
index ec990559..00000000
--- a/GudhUI/gui/Menu_persistence.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-#include "Menu_persistence.h"
-
-Menu_persistence::Menu_persistence(QMainWindow* parent_) : parent(parent_) {
- setupUi(this);
- connectActions(parent_);
-}
-
-void Menu_persistence::connectActions(QMainWindow* parent) {
- QObject::connect(this,
- SIGNAL(compute_persistence(int, double, int, double)),
- parent,
- SLOT(compute_persistence(int, double, int, double)));
-}
-
-void Menu_persistence::send_compute_persistence() {
- emit(compute_persistence(p_spinBox->value(), threshold_doubleSpinBox->value(),
- maxdimension_spinBox->value(), minpersistence_doubleSpinBox->value()));
-}
-
-void Menu_persistence::accept() {
- send_compute_persistence();
-}
-
-// void Menu_persistence::compute_persistence(int p_fied,double threshold,int dim_max,double min_persistence) {
-// if(checkBoxAutoUpdate->isChecked())
-// emit(compute_k_nearest_neighbors((unsigned)spinBoxK->value()));
-// }
-
-#include "Menu_persistence.moc"
diff --git a/GudhUI/gui/Menu_persistence.h b/GudhUI/gui/Menu_persistence.h
deleted file mode 100644
index 32f0c5ca..00000000
--- a/GudhUI/gui/Menu_persistence.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef GUI_MENU_PERSISTENCE_H_
-#define GUI_MENU_PERSISTENCE_H_
-
-#include <QMainWindow>
-#include "ui_PersistenceMenu.h"
-
-class QWidget;
-
-class Menu_persistence : public QDialog, public Ui::PersistenceMenu {
- Q_OBJECT
-
- private:
- QMainWindow* parent;
-
- public:
- Menu_persistence(QMainWindow* parent_);
-
- void connectActions(QMainWindow* parent);
-
- public slots:
- void send_compute_persistence();
- void accept();
-
- signals:
- void compute_persistence(int p_fied, double threshold, int dim_max, double min_persistence);
-};
-
-#endif // GUI_MENU_PERSISTENCE_H_
diff --git a/GudhUI/gui/Menu_uniform_neighbors.cpp b/GudhUI/gui/Menu_uniform_neighbors.cpp
deleted file mode 100644
index 7f392b6c..00000000
--- a/GudhUI/gui/Menu_uniform_neighbors.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "Menu_uniform_neighbors.h"
-
-Menu_uniform_neighbors::Menu_uniform_neighbors(QMainWindow* parent_) :
- parent(parent_) {
- setupUi(this);
- connectActions(parent_);
-}
-
-void Menu_uniform_neighbors::connectActions(QMainWindow* parent) {
- QObject::connect(this->pushButtonCompute,
- SIGNAL(clicked()),
- this,
- SLOT(send_compute_uniform_neighbors()));
- QObject::connect(this->doubleSpinBoxAlpha,
- SIGNAL(valueChanged(double)),
- this,
- SLOT(update_alpha(double)));
- QObject::connect(this,
- SIGNAL(compute_uniform_neighbors(double)),
- parent,
- SLOT(build_rips(double)));
-}
-
-void Menu_uniform_neighbors::send_compute_uniform_neighbors() {
- emit(compute_uniform_neighbors(doubleSpinBoxAlpha->value()));
-}
-
-void Menu_uniform_neighbors::accept() {
- send_compute_uniform_neighbors();
-}
-
-void Menu_uniform_neighbors::update_alpha(double alpha) {
- if (checkBoxAutoUpdate->isChecked())
- emit(compute_uniform_neighbors(doubleSpinBoxAlpha->value()));
-}
-
-#include "Menu_uniform_neighbors.moc"
diff --git a/GudhUI/gui/Menu_uniform_neighbors.h b/GudhUI/gui/Menu_uniform_neighbors.h
deleted file mode 100644
index 88a3823b..00000000
--- a/GudhUI/gui/Menu_uniform_neighbors.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef GUI_MENU_UNIFORM_NEIGHBORS_H_
-#define GUI_MENU_UNIFORM_NEIGHBORS_H_
-
-#include <QMainWindow>
-#include "ui_UniformNeighborsMenu.h"
-
-class Menu_uniform_neighbors : public QDialog, public Ui::UniformMenu {
- Q_OBJECT
-
- private:
- QMainWindow* parent;
-
- public:
- Menu_uniform_neighbors(QMainWindow* parent_);
-
- void connectActions(QMainWindow* parent);
-
- public slots:
- void send_compute_uniform_neighbors();
- void update_alpha(double alpha);
- void accept();
-
- signals:
- void compute_uniform_neighbors(double alpha);
-};
-
-
-#endif // GUI_MENU_UNIFORM_NEIGHBORS_H_
diff --git a/GudhUI/gui/PersistenceMenu.ui b/GudhUI/gui/PersistenceMenu.ui
deleted file mode 100644
index 29327db2..00000000
--- a/GudhUI/gui/PersistenceMenu.ui
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>PersistenceMenu</class>
- <widget class="QDialog" name="PersistenceMenu">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>354</width>
- <height>275</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Point cloud persistence</string>
- </property>
- <widget class="QWidget" name="">
- <property name="geometry">
- <rect>
- <x>20</x>
- <y>23</y>
- <width>318</width>
- <height>226</height>
- </rect>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QSpinBox" name="p_spinBox">
- <property name="minimum">
- <number>2</number>
- </property>
- <property name="value">
- <number>2</number>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Coefficient Z/pZ</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QSpinBox" name="maxdimension_spinBox">
- <property name="maximum">
- <number>9999</number>
- </property>
- <property name="value">
- <number>10</number>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Max dimension</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QDoubleSpinBox" name="threshold_doubleSpinBox">
- <property name="maximum">
- <double>9999.000000000000000</double>
- </property>
- <property name="value">
- <double>1.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Max Rips offset</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QDoubleSpinBox" name="minpersistence_doubleSpinBox"/>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Minimum Persistence</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>PersistenceMenu</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel">
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>PersistenceMenu</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel">
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/GudhUI/gui/UniformNeighborsMenu.ui b/GudhUI/gui/UniformNeighborsMenu.ui
deleted file mode 100644
index f8ef7a24..00000000
--- a/GudhUI/gui/UniformNeighborsMenu.ui
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>UniformMenu</class>
- <widget class="QDialog" name="UniformMenu">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>292</width>
- <height>209</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Uniform neighbors (Rips)</string>
- </property>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="geometry">
- <rect>
- <x>50</x>
- <y>160</y>
- <width>171</width>
- <height>32</height>
- </rect>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- <widget class="QWidget" name="formLayoutWidget">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>10</y>
- <width>262</width>
- <height>84</height>
- </rect>
- </property>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>alpha</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Metric</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="comboBoxMetric">
- <item>
- <property name="text">
- <string>Ambient</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Reduced Space</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QDoubleSpinBox" name="doubleSpinBoxAlpha">
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="maximum">
- <double>100000000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="gridLayoutWidget">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>110</y>
- <width>250</width>
- <height>40</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="1">
- <widget class="QPushButton" name="pushButtonCompute">
- <property name="text">
- <string>Compute</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QCheckBox" name="checkBoxAutoUpdate">
- <property name="text">
- <string>auto update</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>UniformMenu</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel">
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>UniformMenu</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel">
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/GudhUI/gui/gudhui.cpp b/GudhUI/gui/gudhui.cpp
deleted file mode 100644
index 2a100fd5..00000000
--- a/GudhUI/gui/gudhui.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): David Salinas
- *
- * Copyright (C) 2014 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "MainWindow.h"
-#include <QApplication>
-#include <CGAL/Qt/resources.h>
-
-int main(int argc, char** argv) {
- QApplication application(argc, argv);
- application.setOrganizationDomain("inria.fr");
- application.setOrganizationName("Inria");
- application.setApplicationName("GudhUI");
-
- MainWindow mw;
- application.setQuitOnLastWindowClosed(false);
- mw.show();
- return application.exec();
-}
diff --git a/GudhUI/gui/main_window.ui b/GudhUI/gui/main_window.ui
deleted file mode 100644
index 312480b6..00000000
--- a/GudhUI/gui/main_window.ui
+++ /dev/null
@@ -1,255 +0,0 @@
-<?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>861</width>
- <height>880</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>GudhUI</string>
- </property>
- <property name="tabShape">
- <enum>QTabWidget::Rounded</enum>
- </property>
- <widget class="QWidget" name="centralwidget">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="Viewer" name="viewer" native="true">
- <property name="autoFillBackground">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <widget class="QMenuBar" name="menubar">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>861</width>
- <height>34</height>
- </rect>
- </property>
- <widget class="QMenu" name="menuFile">
- <property name="title">
- <string>File</string>
- </property>
- <addaction name="actionLoad_points"/>
- <addaction name="actionLoad_complex"/>
- <addaction name="actionSave_points"/>
- <addaction name="actionSave_complex"/>
- </widget>
- <widget class="QMenu" name="menuPoints">
- <property name="title">
- <string>Points</string>
- </property>
- <addaction name="actionNoise"/>
- </widget>
- <widget class="QMenu" name="menuGraph">
- <property name="title">
- <string>Graph</string>
- </property>
- <addaction name="actionK_nearest_neighbors_graph"/>
- <addaction name="actionUniform_proximity_graph"/>
- <addaction name="actionShow_graph_stats"/>
- </widget>
- <widget class="QMenu" name="menuComplex">
- <property name="title">
- <string>Complex</string>
- </property>
- <addaction name="actionContract_edges"/>
- <addaction name="actionCollapse_vertices"/>
- <addaction name="actionCollapse_edges"/>
- <addaction name="actionShow_complex_stats"/>
- <addaction name="actionShow_complex_dimension"/>
- </widget>
- <widget class="QMenu" name="menuView">
- <property name="title">
- <string>View</string>
- </property>
- <addaction name="actionPoints"/>
- <addaction name="actionEdges"/>
- <addaction name="actionTriangles"/>
- <addaction name="actionChange_projection"/>
- </widget>
- <widget class="QMenu" name="menuTopology">
- <property name="title">
- <string>Topology</string>
- </property>
- <addaction name="actionEuler_characteristic"/>
- <addaction name="actionShow_homology_group"/>
- <addaction name="actionPersistence"/>
- <addaction name="actionEstimate_topological_changes"/>
- <addaction name="actionIs_manifold"/>
- </widget>
- <addaction name="menuFile"/>
- <addaction name="menuPoints"/>
- <addaction name="menuGraph"/>
- <addaction name="menuComplex"/>
- <addaction name="menuTopology"/>
- <addaction name="menuView"/>
- </widget>
- <widget class="QStatusBar" name="statusbar"/>
- <action name="actionLoad_points">
- <property name="text">
- <string>Load points</string>
- </property>
- </action>
- <action name="actionLoad_complex">
- <property name="text">
- <string>Load complex</string>
- </property>
- </action>
- <action name="actionSave_points">
- <property name="text">
- <string>Save points</string>
- </property>
- </action>
- <action name="actionSave_complex">
- <property name="text">
- <string>Save complex</string>
- </property>
- </action>
- <action name="actionNoise">
- <property name="text">
- <string>Noise</string>
- </property>
- </action>
- <action name="actionLloyd">
- <property name="text">
- <string>Lloyd</string>
- </property>
- </action>
- <action name="actionUniform_proximity_graph">
- <property name="text">
- <string>Uniform proximity graph</string>
- </property>
- </action>
- <action name="actionK_nearest_neighbors_graph">
- <property name="text">
- <string>k-nearest neighbors graph</string>
- </property>
- </action>
- <action name="actionShow_graph_stats">
- <property name="text">
- <string>Show graph stats</string>
- </property>
- </action>
- <action name="actionBuild_complex_from_graph">
- <property name="text">
- <string>Graph expansion</string>
- </property>
- </action>
- <action name="actionBuild_Delaunay_from_points">
- <property name="text">
- <string>Delaunay from points</string>
- </property>
- </action>
- <action name="actionContract_edges">
- <property name="text">
- <string>Contract edges</string>
- </property>
- </action>
- <action name="actionCollapse_vertices">
- <property name="text">
- <string>Collapse vertices</string>
- </property>
- </action>
- <action name="actionCollapse_edges">
- <property name="text">
- <string>Collapse edges</string>
- </property>
- </action>
- <action name="actionPoints">
- <property name="text">
- <string>Points</string>
- </property>
- </action>
- <action name="actionEdges">
- <property name="text">
- <string>Edges</string>
- </property>
- </action>
- <action name="actionTriangles">
- <property name="text">
- <string>Triangles</string>
- </property>
- </action>
- <action name="actionChange_projection">
- <property name="text">
- <string>Change projection</string>
- </property>
- </action>
- <action name="actionShow_complex_stats">
- <property name="text">
- <string>Show complex stats</string>
- </property>
- </action>
- <action name="actionShow_complex_dimension">
- <property name="text">
- <string>Show complex dimension</string>
- </property>
- </action>
- <action name="actionShow_homology_group">
- <property name="text">
- <string>Homology groups</string>
- </property>
- </action>
- <action name="actionPersistence">
- <property name="text">
- <string>Point cloud persistence</string>
- </property>
- </action>
- <action name="actionEuler_characteristic">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Euler characteristic</string>
- </property>
- <property name="visible">
- <bool>true</bool>
- </property>
- </action>
- <action name="actionHomology_groups">
- <property name="text">
- <string>Homology groups</string>
- </property>
- </action>
- <action name="actionEstimate_topological_changes">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Rips critical points approximation</string>
- </property>
- <property name="visible">
- <bool>false</bool>
- </property>
- </action>
- <action name="actionIs_manifold">
- <property name="text">
- <string>Is manifold</string>
- </property>
- </action>
- </widget>
- <customwidgets>
- <customwidget>
- <class>Viewer</class>
- <extends>QWidget</extends>
- <header>view/Viewer.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>