qt_gui.h
Go to the documentation of this file.
00001 /* This file is part of RGBDSLAM.
00002  * 
00003  * RGBDSLAM is free software: you can redistribute it and/or modify
00004  * it under the terms of the GNU General Public License as published by
00005  * the Free Software Foundation, either version 3 of the License, or
00006  * (at your option) any later version.
00007  * 
00008  * RGBDSLAM is distributed in the hope that it will be useful,
00009  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011  * GNU General Public License for more details.
00012  * 
00013  * You should have received a copy of the GNU General Public License
00014  * along with RGBDSLAM.  If not, see <http://www.gnu.org/licenses/>.
00015  */
00016 
00017 
00018 /* This is the main widget of the application.
00019 * It sets up some not yet useful menus and
00020 * three qlabels in the layout of the central widget
00021 * that can be used to show qimages via the slots
00022 * setDepthImage and setVisualImage.
00023 *
00024 * there is an alternative: RosUI for headless use of the rgbdslam
00025 */
00026 #ifndef QTCV_H
00027 #define QTCV_H
00028 
00029 #include <QMainWindow>
00030 #include <QGridLayout>
00031 #include "parameter_server.h"
00032 #include <QMatrix4x4>
00033 
00034 class QAction;
00035 class QActionGroup;
00036 class QLabel;
00037 class QMenu;
00038 class GLViewer;
00039 class QSplitter;
00040 
00041 //TODO:
00042 //Choice between Binary and ASCII outputfiles
00043 //Buttons for start/stop
00044 //GUI/Commandline options for switching on/off the individual visualizations
00045 
00047 
00049 class Graphical_UI: public QMainWindow
00050 {
00051     Q_OBJECT
00052 
00053 public:
00054     Graphical_UI();
00055     GLViewer* getGLViewer();
00056 Q_SIGNALS:
00058     void reset(); 
00060     void togglePause();
00062     void toggleBagRecording();
00064     void getOneFrame();
00066     void deleteLastFrame();
00067     void sendAllClouds(); 
00068 
00069     void saveAllClouds(QString filename);
00070     void saveAllFeatures(QString filename);
00071     void saveTrajectory(QString filename);
00073     void saveIndividualClouds(QString file_basename);
00074     void setMaxDepth(float max_depth);
00075     void evaluation();
00076     void optimizeGraph();
00077     void printEdgeErrors(QString);
00078     void pruneEdgesWithErrorAbove(float);
00079     void toggleMapping(bool);
00080      
00081 public Q_SLOTS:
00082     void setVisualImage(QImage);
00083     void setFeatureFlowImage(QImage);
00084     void setDepthImage(QImage);
00085     void sendFinished(); 
00086     void showOptions();
00087 
00088 private Q_SLOTS:
00089     void saveVectorGraphic();
00090     void resetCmd();
00091     void reloadConfig();
00092     void sendAll();
00093     void setMax();
00094     void setStereoShift();
00095     void setRotationGrid();
00096     void saveAll();
00097     void saveIndividual();
00098     void quickSaveAll();
00099     void saveFeatures();
00100     void pause(bool);
00101     void bagRecording(bool);
00102     void about();
00103     void help();
00104     void setInfo(QString);
00105     void setInfo2(QString);
00106     void setStatus(QString);
00107     void getOneFrameCmd();
00108     void deleteLastFrameCmd();
00109 //    void set3DDisplay(bool is_on);
00110     void set2DStream(bool is_on);
00111     void saveTrajectoryDialog();
00112     void optimizeGraphTrig();
00113     void showEdgeErrors();
00114     void pruneEdgesWithHighError();
00115     void toggleFullscreen(bool);
00116     void toggleCloudStorage(bool);
00117     void toggleMappingPriv(bool);
00118 private:
00120     void createMenus();
00121 
00122     //QString *menuHelpText;
00123     QString *mouseHelpText;
00124     QString *infoText;
00125     QString *licenseText;
00126     QSplitter* vsplitter;
00127     QLabel *infoLabel;
00128     QLabel *infoLabel2;
00129     QLabel *tmpLabel;
00130     QLabel *visual_image_label;
00131     QLabel *feature_flow_image_label;
00132     QLabel *depth_image_label;
00133     QLabel *stats_image_label;
00134     //QLabel *transform_label;
00135     QGridLayout* gridlayout;
00136     QString filename;
00137     GLViewer* glviewer;
00138     bool pause_on;
00139 };
00140 
00141 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends Defines


rgbdslam
Author(s): Felix Endres, Juergen Hess, Nikolas Engelhard
autogenerated on Wed Dec 26 2012 15:53:09