SLAM
Veřejné typy | Veřejné metody | Privátní sloty | Privátní metody | Privátní atributy | Seznam všech členů
Dokumentace třídy MainWindow

Hlavní okno aplikace, zde se pracuje se všemi třídami. ...

#include <mainwindow.h>

Diagram dědičnosti pro třídu MainWindow

Veřejné typy

enum  MainMenuTabs {
  File, StaticRender, RealTimeRender, ProcessSubmap,
  Settings
}
 
enum  RightColumnTabs { StatisticsTab, SubmapsTab, LidarTab, LoadedTab }
 
enum  StackedWidget { ActualScan, Map, LidarSettings }
 
enum  StackedWidgetLidar { NotConnected, Connected, Actions }
 

Veřejné metody

 MainWindow (QWidget *parent=0)
 

Privátní sloty

void dataLoaded ()
 Funkce volána po dokončení načítání statických dat. ...
 
void reloadStatistics ()
 Funkce, která je volána při požadavku překreslení statistik.
 
void reloadSubmapTab ()
 Překreslení statistik se submapami.
 
void nextScan ()
 Zobrazí další měření nebo při registraci spustí vlákna pro hledání transformací.
 
void registrationStepCompleted ()
 Pokud je dokončeno zarovnávání v některém vlákně. ...
 
void correctionStepCompleted ()
 Pokud je dokončen korekční krok. ...
 
void checkRegistrationResults ()
 Kontrola oblastí, v kterých se hledata transformace. ...
 
void landmarkExtractionRun ()
 Spuštění hledání důležitých objektů ve vlastním vlákně. ...
 
void renderStatistics ()
 Nastavení statistik pro zobrazení (translate, zoom).
 
void updateMapRender ()
 Vykreslení mapy při každé změně.
 
void zoomIn ()
 Přibližení vykreslení.
 
void zoomOut ()
 Oddálení vykreslení.
 
void onSubmapClicked (QModelIndex index)
 Vykreslení mapy při kliku na položku v jejich seznamu. ...
 
void checkMainMenuEnabled ()
 
void allReset ()
 Resetuje hodnoty vykreslených měření.
 
void changeEnableStaticControls (bool enabled)
 Mění dostupnost tlačítek v záložce statického vykreslování. ...
 
void changeEnabledSubmapControls (bool enabled)
 Změna dostupnosti tlačítek pro záložku submap. ...
 
void clientChangeState ()
 Po každé změně stavu UDP klienta, vypíše do textového pole informace o stavu nebo seznam modulů.
 
void submapLoaded ()
 Volá se po načtení submapy.
 
void reloadLoadedTable ()
 Překreslení statistik s načtenými mapami.
 
void reloadLidarTable ()
 Překreslení statistik s informacemi o připojeném LIDARU pomocí UDP.
 
void on_toolButtonOpenFile_clicked ()
 Po kliku na tlačítko openFile se otevře dialog s výběrem souboru. ...
 
void on_toolButton_clicked ()
 Při kliku na tlačítko Reload. ...
 
void on_toolButtonClose_clicked ()
 Ukončení aplikace.
 
void on_toolButtonNext_clicked ()
 Při kliku na tlačítko next, se buď načte další jedno měření nebo se spustí další krok zarovnávání.
 
void on_toolButtonStart_clicked ()
 Zapnutí automatické registrace.
 
void on_toolButtonStop_clicked ()
 Vypnutí automatické registrace.
 
void on_toolButtonRegistration_clicked ()
 Přepnutí do zarovnávacího režimu.
 
void on_toolButtonShowLandmark_clicked ()
 Přepnutí do režimu zobrazení důležitých objektů v aktuálním měření.
 
void on_toolButtonActualScan_clicked ()
 Přepnutí režimu zobrazení na zobrazení aktuálního měření.
 
void on_toolButtonMap_clicked ()
 Přepnutí režimu zobrazení na zobrazení mapy.
 
void on_toolButtonLidarSettings_clicked ()
 Při kliku na nastaveni LIDARU, přepnutí hlavní části okna.
 
void on_pushButtonConnect_clicked ()
 Při kliku na tlačítko pro připojení k serveru.
 
void on_pushButtonConnectLidar_clicked ()
 Při kliku na tlačítko pro připojení k serveru.
 
void on_pushButtonGrab_clicked ()
 Při kliku na tlačítko Grab (aby server posílal data do aplikace).
 
void on_pushButtonStop_clicked ()
 Při kliku na tlačítko Stop (zastavení posílání dat ze serveru).
 
void on_pushButtonStateInfo_clicked ()
 Při kliku na tlačítko StateInfo, požadavek na odeslání informací o stavu ze serveru.
 
void on_toolButtonRemoveSubmap_clicked ()
 Při kliku na smazání submapy.
 
void on_toolButtonSaveSubmap_clicked ()
 Po kliku na tlačítko pro uložení submapy.
 
void on_toolButtonLoadSubmap_clicked ()
 Po kliku na tlačítko pro načtení mapy.
 
void on_toolButtonRealTimeStart_clicked ()
 Po kliku na Start v realTimRender, spustí registraci na příchozí data.
 
void on_toolButtonRealTimeStop_clicked ()
 Po kliku na Stop v realTimeRender. Zastaví registraci na příchozí data.
 
void on_tableViewLoadedSubmaps_clicked (const QModelIndex &index)
 Po kliku na položku v seznamu submap (vykreslí danou submapu). ...
 

Privátní metody

void setupTableView (QTableView *tableView)
 Nastavení tabulkového zobrazení. ...
 
void reloadStaticRender ()
 Funkce volána při požadavku překreslení jednoho měření.
 
void registrationStep ()
 Funkce spouští registraci na mračno bodů v jednom vlákně. ...
 
void correctionStep (int what, int with)
 Také spouští registraci ve vlastním vlákně, ale jedná se o korekční krok. ...
 
void mapCorrectionStep (int start)
 Korekční krok, teď nepoužíván. Pouze pro testování. ...
 
void enableProgressBar ()
 Zapnutí progress baru.
 
void disableProgressBar ()
 Vypnutí progress baru.
 

Privátní atributy

Ui::MainWindow * ui
 
DataReaderdataReader
 
DataPreProcessordataPreProcessor
 
LandmarkExtractionlandmarkExtraction
 
Statisticsstatistics
 
StatisticsstatisticsMap
 
StatisticsstatisticsMapRender
 
int activeStaticRender
 
bool renderSubmap
 
int renderedSubmap
 
area_tareaChanged
 
robotPosition_trobotPos
 
UdpClientclient
 
SubmapPostProcpostProc
 
MapClassmap
 
MapClassmapRender
 
MapProcessmapProcess
 
int areaIndex
 
int connectedIndex
 
int connectedWith
 
int correctionCount
 
bool correctionRunning
 
QVector< int > forbiddenIndexes
 
bool activated
 
bool applyRegistration
 
bool showLandmark
 
bool completedFirstThreat
 
bool completedSecondThreat
 
bool obDraw
 
QTimer * timer
 

Detailní popis

Hlavní okno aplikace, zde se pracuje se všemi třídami.

Dokumentace k metodám

void MainWindow::changeEnabledSubmapControls ( bool  enabled)
privateslot

Změna dostupnosti tlačítek pro záložku submap.

Změna pro tlačítka Save, Load, Remove.

Parametry
enabled- Jestli jsou dostupná.
void MainWindow::changeEnableStaticControls ( bool  enabled)
privateslot

Mění dostupnost tlačítek v záložce statického vykreslování.

Mění tlačítka Reload, Next, Start.

Parametry
enabled- Jestli jsou tlačítka dostupná.
void MainWindow::checkRegistrationResults ( )
privateslot

Kontrola oblastí, v kterých se hledata transformace.

Tato funkce se spouští ve třetím vlákně a to skládá výslednou mapu. Pokud narazí na oblasti, které nelze zarovnat spustí korekční krok.

void MainWindow::correctionStep ( int  what,
int  with 
)
private

Také spouští registraci ve vlastním vlákně, ale jedná se o korekční krok.

Tento krok se spouští při nalezení oblastí, které se nepodařilo zarovnat. Po dokončení se volá funkce correctionStepCompleted().

Parametry
what- Index oblasti na kterou se zarovnává.
with- Index oblasti která se zarovnává.
void MainWindow::correctionStepCompleted ( )
privateslot

Pokud je dokončen korekční krok.

Korekční krok viz. correctionStep(int what, int with). Volá funkci checkRegistrationResults().

void MainWindow::dataLoaded ( )
privateslot

Funkce volána po dokončení načítání statických dat.

Vypína progress bar, povoluje další funkce programu a nastavuje statistiky.

void MainWindow::landmarkExtractionRun ( )
privateslot

Spuštění hledání důležitých objektů ve vlastním vlákně.

Po dokončení ihned volá překreslení v renderArea.

void MainWindow::mapCorrectionStep ( int  start)
private

Korekční krok, teď nepoužíván. Pouze pro testování.

Zkouší zarovnat posledních 360 bodů s 360 body už v mapě (začínající na indexu start).

Parametry
start- Index počátku oblasti k zarovnání.
void MainWindow::on_tableViewLoadedSubmaps_clicked ( const QModelIndex &  index)
privateslot

Po kliku na položku v seznamu submap (vykreslí danou submapu).

Parametry
index- Index řádku, na který se kliklo.
void MainWindow::on_toolButton_clicked ( )
privateslot

Při kliku na tlačítko Reload.

Volá funkce allReset() a reloadStaticRender().

void MainWindow::on_toolButtonOpenFile_clicked ( )
privateslot

Po kliku na tlačítko openFile se otevře dialog s výběrem souboru.

Po výběru se spustí funkce fileToDataReader() ve vlastním vlákně a načte statická data. Také se vlákno napojí pomocí connect() na signál finished() a na SLOT dataLoaded(), to znamená, že po dokončení se zavolá funkce dataLoaded().

void MainWindow::onSubmapClicked ( QModelIndex  index)
privateslot

Vykreslení mapy při kliku na položku v jejich seznamu.

Parametry
index- Index řádku na který se kliklo.
void MainWindow::registrationStep ( )
private

Funkce spouští registraci na mračno bodů v jednom vlákně.

Po dokončení je volána funkce registrationStepCompleted().

void MainWindow::registrationStepCompleted ( )
privateslot

Pokud je dokončeno zarovnávání v některém vlákně.

Zarovnávání viz. egistrationStep(). Pokud je registrace pořád zapnutá, spouští další krok k zarovnání.

void MainWindow::setupTableView ( QTableView *  tableView)
private

Nastavení tabulkového zobrazení.

Parametry
tableView- Pro kterou tabulku se má nastavení provést.

Dokumentace pro tuto třídu byla generována z následujících souborů: