GUI_GL_Window Klassenreferenz

#include <gui.h>

Aufstellung aller Elemente

Ö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_mapmap
 Die Karte mit allen Terraindaten.
module_confmod_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.


Ausführliche Beschreibung

Dieses Fenster dient dem Rendering des Modells, also der Darstellung der Karte sowie der Darstellung des Roboters.


Beschreibung der Konstruktoren und Destruktoren

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.

Parameter:
x X-Position des Fensters
y Y-Position des Fenters
width Breite des Fenters
height Höhe des Fenters
title Titel des Fenters


Dokumentation der Elementfunktionen

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.

Parameter:
time1 Erstes Ergebnis der Zeitmessung
time2 Zweites Ergebnis der Zeitmessung
Rückgabe:
Die Zeitdifferenz in Millisekunden als unsigned long

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.

Rückgabe:
Der Zoomfaktor als float.

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.

Parameter:
filename Pfad zur Datei
width Breite der Texturdatei
height Höhe der Texturdatei
Rückgabe:
Eine Textur, die von OpenGL-Funktionen verwendet kann. Wenn 0 zurückgegeben wird, so ist ein Fehler aufgetreten.

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.

Parameter:
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.

Parameter:
new_zoom Der neue Zoomfaktor (> 0.0 )
Rückgabe:
Der neue Zoomfaktor oder -1.0 im Fehlerfall.


Dokumentation der Datenelemente

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]


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Sun Sep 3 23:58:31 2006 für Eukalyptos von  doxygen 1.4.7