#include <gui.h>
Öffentliche Methoden | |
| GUI_GL_Window (int x, int y, int width, int height, char *title) | |
| float | set_zoom (float new_zoom) |
| float | get_zoom (void) |
| void | set_view (double x1, double x2, double y1, double y2) |
| void | reset_view (void) |
Private Methoden | |
| unsigned long | difftime_msec (timeval time1, timeval time2) |
| unsigned int | load_raw_texture (const char *filename, int width, int height) |
| void | draw (void) |
Private Attribute | |
| double | ROBOTER_BREITE |
| double | ROBOTER_LAENGE |
| double | ROBOTER_MITTE_Y |
| double | ROBOTER_MITTE_X |
| float | zoom |
| double | x1 |
| x-Koordinate der linken unteren Ecke der Karte | |
| double | x2 |
| x-Koordinate der rechten oberen Ecke der Karte | |
| double | y1 |
| y-Koordinate der linken unteren Ecke der Karte | |
| double | y2 |
| y-Koordinate der rechten oberen Ecke der Karte | |
| module_map * | map |
| Die Karte mit allen Terraindaten. | |
| module_conf * | mod_conf |
| double | draw_factor_x |
| Faktor, mit dem die Karte in X-Richtung skaliert wird. | |
| double | draw_factor_y |
| Faktor, mit dem die Karte in Y-Richtung skaliert wird. | |
| double | decay_e |
| double | decay_lambda |
| Gibt den Zerfalls-/ bzw. Ausblendefaktor an. | |
| GUI_GL_Window::GUI_GL_Window | ( | int | x, | |
| int | y, | |||
| int | width, | |||
| int | height, | |||
| char * | title | |||
| ) |
Fordert die benötigten Module vom Module Master an und bereitet diverse Einstellungen vor.
ACHTUNG: Da hier die Zeichenfaktoren in x- und y-Richtung berechnet werden, muss die Karte vor Aufruf dieses Konstruktors, also vor Start des GUI, einsatzbereit sein.
| x | X-Position des Fensters | |
| y | Y-Position des Fenters | |
| width | Breite des Fenters | |
| height | Höhe des Fenters | |
| title | Titel des Fenters |
| unsigned long GUI_GL_Window::difftime_msec | ( | timeval | time1, | |
| timeval | time2 | |||
| ) | [private] |
Liefert die Differenz zweier Zeitobjekte in Millisekunden. Die Funktion difftime aus der Standardbibliothek kann nur eine Differenz in Sekunden berechnen.
| time1 | Erstes Ergebnis der Zeitmessung | |
| time2 | Zweites Ergebnis der Zeitmessung |
| void GUI_GL_Window::draw | ( | void | ) | [private] |
Zeichnet die Karte sowie den Roboter. Die Darstellung kann in späteren Versionen ohne Probleme um eine dritte Dimension ergänzt werden.
| float GUI_GL_Window::get_zoom | ( | void | ) |
Gibt den aktuellen Zoomfaktor aus.
| unsigned int GUI_GL_Window::load_raw_texture | ( | const char * | filename, | |
| int | width, | |||
| int | height | |||
| ) | [private] |
Lädt eine RAW-Datei von der Festplatte, die als Textur für OpenGL-Objekte verwendet werden kann. Momentan nicht verwendet.
| filename | Pfad zur Datei | |
| width | Breite der Texturdatei | |
| height | Höhe der Texturdatei |
| void GUI_GL_Window::reset_view | ( | void | ) |
Setzt den Kartenauschnitt auf die Standarddarstellung zurück. Diese stellt die ganze Karte dar. Der Zoomfaktor wird durch diese Funktion ebenso auf 1.0 zurückgesetzt.
| void GUI_GL_Window::set_view | ( | double | x1, | |
| double | x2, | |||
| double | y1, | |||
| double | y2 | |||
| ) |
Setzt die Position des Kartenauschnitts. Die Parameter beschreiben die Eckpunkte des Rechtecks, in dem die Karte bzw. das Modell dargestellt wird.
| x1 | x-Koordinate der linken unteren Ecke | |
| x2 | x-Koordinate der rechten oberen Ecke | |
| y1 | y-Koordinate der linken unteren Ecke | |
| y2 | y-Koordinate der rechten oberen Ecke |
| float GUI_GL_Window::set_zoom | ( | float | new_zoom | ) |
Setzt den Zoomfaktor der Karte neu. Negative Werte sind unzulässig.
| new_zoom | Der neue Zoomfaktor (> 0.0 ) |
double GUI_GL_Window::decay_e [private] |
Speichert die Euler'sche Zahl. Diese wird verwendet, um die gespeicherten Pfade der Karte sanft auszublenden.
double GUI_GL_Window::decay_lambda [private] |
Gibt den Zerfalls-/ bzw. Ausblendefaktor an.
double GUI_GL_Window::draw_factor_x [private] |
Faktor, mit dem die Karte in X-Richtung skaliert wird.
double GUI_GL_Window::draw_factor_y [private] |
Faktor, mit dem die Karte in Y-Richtung skaliert wird.
module_map* GUI_GL_Window::map [private] |
Die Karte mit allen Terraindaten.
module_conf* GUI_GL_Window::mod_conf [private] |
double GUI_GL_Window::ROBOTER_BREITE [private] |
double GUI_GL_Window::ROBOTER_LAENGE [private] |
double GUI_GL_Window::ROBOTER_MITTE_X [private] |
double GUI_GL_Window::ROBOTER_MITTE_Y [private] |
double GUI_GL_Window::x1 [private] |
x-Koordinate der linken unteren Ecke der Karte
double GUI_GL_Window::x2 [private] |
x-Koordinate der rechten oberen Ecke der Karte
double GUI_GL_Window::y1 [private] |
y-Koordinate der linken unteren Ecke der Karte
double GUI_GL_Window::y2 [private] |
y-Koordinate der rechten oberen Ecke der Karte
float GUI_GL_Window::zoom [private] |
1.4.7