SLAM
Signály | Veřejné metody | Privátní metody | Privátní atributy | Seznam všech členů
Dokumentace třídy MapClass

Třída pro práci s mapou a submapami. Obsahuje všechny submapy spolu s pozicemi důležitých objektů a robota. ...

#include <mapclass.h>

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

Signály

void updated ()
 
void submapChanged ()
 

Veřejné metody

 MapClass (area_t **allAreas, Statistics *statistics, bool main)
 
void setAllAreas (area_t **allAreas)
 Funkce k nastavení směrníku na všechny oblasti. ...
 
int addAreaToActualSubmap (int areaIndex)
 Funkce k přidávání oblastí area_t do mapy submap_t. Celá aktuální submapa je transformována a následně je připojena nová oblast. Pokud submapa obsahuje víc jak 100 000 bodů, vytvoří se nová. ...
 
void createNewSubmap ()
 Funkce pro tvorbu nové submapy.
 
void setMaxDistance (int maxD)
 Nastavení maximální vzdálenosti bodů, které budou přidány do mapy, používano v addAreaToActualSubmap(). Pokud je bod dál od skeneru, než je maxDistance, tak není přidán do mapy. ...
 
void removeSubmap (int submap)
 Funkce k odstranění požadované submapy. Po odstranění je pole reindexováno. ...
 
QPointF * getSubmatPoints (int submap)
 Vrací směrník na body z požadované submapy. ...
 
int getPointsCount (int submap) const
 Vrací počet bodů v požadované submapě. ...
 
int getSubmapsCount () const
 Vrací počet všech submap. ...
 
int getRowCountInSubmap (int submap) const
 
int checkRobotPosition ()
 Kontrolování pozice robota, jestli se přiblížil na místo, kde už v minulosti byl. Hledá se nejbližší předchozí pozice robota. Pokud je pozice nalezena, vrací index bodu, protože mapa je složená z oblastí, takže návratová hodnota je index prvního bodu této oblasti. ...
 
submap_tgetSubmap (int i) const
 Vrací směrník na požadovanou submapu. ...
 
robotPosition_tgetPosition (int i) const
 Vrací pozice robota v dané submapě. ...
 

Privátní metody

void addLandmarksToSubmap (int areaIndex)
 Přidávání důležitých objektů z oblasti area_t do celé mapy submap_t. Pro každý nový důležitý objekt jsou kontrolovány všechny dosud přidané (jestli už byl přidán v minulosti). Pokud se objeví, že objekt už byl přidán, inkrementuje se jeho důvěryhodnost a zpřesní jeho pozice. Zatím jsou přidavány pouze rohy. ...
 

Privátní atributy

int submapsCount
 
int actualSubmap
 
int maxDistance
 
submap_t ** submaps
 
QPointF * actualSubmatPoints
 
int submatPointsCount
 
area_t ** allAreas
 
Statisticsstatistics
 
bool main
 

Detailní popis

Třída pro práci s mapou a submapami. Obsahuje všechny submapy spolu s pozicemi důležitých objektů a robota.

Dokumentace k metodám

int MapClass::addAreaToActualSubmap ( int  areaIndex)

Funkce k přidávání oblastí area_t do mapy submap_t. Celá aktuální submapa je transformována a následně je připojena nová oblast. Pokud submapa obsahuje víc jak 100 000 bodů, vytvoří se nová.

Parametry
areaIndex- Index oblasti, která bude přidána (pro správnou funkci, oblast musí mít po registraci a musí být transformovatelná).
Návratová hodnota
Počet bodů v mapě bez aktuální oblasti.
void MapClass::addLandmarksToSubmap ( int  areaIndex)
private

Přidávání důležitých objektů z oblasti area_t do celé mapy submap_t. Pro každý nový důležitý objekt jsou kontrolovány všechny dosud přidané (jestli už byl přidán v minulosti). Pokud se objeví, že objekt už byl přidán, inkrementuje se jeho důvěryhodnost a zpřesní jeho pozice. Zatím jsou přidavány pouze rohy.

Parametry
areaIndex- Index oblasti obsahující důležité objekty.
int MapClass::checkRobotPosition ( )

Kontrolování pozice robota, jestli se přiblížil na místo, kde už v minulosti byl. Hledá se nejbližší předchozí pozice robota. Pokud je pozice nalezena, vrací index bodu, protože mapa je složená z oblastí, takže návratová hodnota je index prvního bodu této oblasti.

Návratová hodnota
Index prvního bodu v submapě kde začíná nalezená oblast.
int MapClass::getPointsCount ( int  submap) const

Vrací počet bodů v požadované submapě.

Parametry
submap- Index submapy.
Návratová hodnota
Počet bodů.
robotPosition_t* MapClass::getPosition ( int  i) const
inline

Vrací pozice robota v dané submapě.

Parametry
i- Index submapy.
Návratová hodnota
Směrník na pozice robota v dane submapě.
submap_t* MapClass::getSubmap ( int  i) const
inline

Vrací směrník na požadovanou submapu.

Parametry
i- Index submapy.
Návratová hodnota
Směrník na danou submapu.
int MapClass::getSubmapsCount ( ) const
inline

Vrací počet všech submap.

Návratová hodnota
Počet všech submap.
QPointF * MapClass::getSubmatPoints ( int  submap)

Vrací směrník na body z požadované submapy.

Parametry
submap- Index submapy, z které jsou body požadovány.
Návratová hodnota
- Směrník na pole bodů.
void MapClass::removeSubmap ( int  submap)

Funkce k odstranění požadované submapy. Po odstranění je pole reindexováno.

Parametry
submap- Index submapy, která má být odstraněna.
void MapClass::setAllAreas ( area_t **  allAreas)

Funkce k nastavení směrníku na všechny oblasti.

Parametry
allAreas- Směrník (pointer) na všechny oblasti.
void MapClass::setMaxDistance ( int  maxD)

Nastavení maximální vzdálenosti bodů, které budou přidány do mapy, používano v addAreaToActualSubmap(). Pokud je bod dál od skeneru, než je maxDistance, tak není přidán do mapy.

Parametry
maxD- Maximální vzdálenost bodu.

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