#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] |