GLWireframe Klassenreferenz

Widget zur Darstellung der Objekte in OpenGL. Mehr ...

#include <GLWireframe.h>

Abgeleitet von QGLWidget.

Zusammengehörigkeiten von GLWireframe:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Öffentliche Slots

void ladeWerkseinstellungen ()
 Setzt auf Werkseinstellungen zurueck. Diese Funktion setzt das Zoomen und Rotieren der Objekte auf grundlegende Werkseinstellungen zurueck. Die im Konstruktor uebergebenen Werte werden dabei ueberschrieben.
void setzeMaussteuerung (int maussteuerung)
 Setzt die zu benutzende Maussteuerung.
void setzeRotationImpulse (double x, double y, double z)
 Stellt die Rotationen neu ein.
void setzeTranslationImpulse (double x, double y)
 Setzt den Wert fuer die Verschiebung der Objekte.
void setzeXRotation (double grad)
 Setzt den Wert fuer die Rotation um die x-Achse.
void setzeYRotation (double grad)
 Setzt den Wert fuer die Rotation um die y-Achse.
void setzeZoom (double aenderung)
 Setzt den Wert fuer den Zoom, dabei wird die Kamera in z-Richtung bewegt.
void setzeZRotation (double grad)
 Setzt den Wert fuer die Rotation um die z-Achse.

Öffentliche Methoden

double gibXKamera ()
 Liefert den x-Wert der aktuellen Kameraposition.
double gibXRot ()
 Liefert die aktuelle Rotation um x.
double gibYKamera ()
 Liefert den y-Wert der aktuellen Kameraposition.
double gibYRot ()
 Liefert die aktuelle Rotation um y.
double gibZRot ()
 Liefert die aktuelle Rotation um z.
 GLWireframe (QWidget *parent, const char *name, QGLWidget *share, WFlags f, double xRotD, double yRotD, double zRotD, double xKameraD, double yKameraD, double zKameraD, Spur **spurenliste, long int anzahlSpuren, Liste *kreuzungsliste)
 Konstruktor der Klasse GLWireframe.
 GLWireframe (QWidget *parent=0, const char *name=0, QGLWidget *share=0, WFlags f=0, Spur **spurenliste=0, long int anzahlSpuren=0, Liste *kreuzungsliste=0)
 Konstruktor der Klasse GLWireframe.
void setzeFahrzeugliste (Liste *fahrzeugliste)
 Dient zum setzen der Fahrzeugliste. Diese Fahrzeuge werden dargestellt.
void setzeKreuzungsliste (Liste *kreuzungsliste)
 Dient zum setzen der Fahrzeugliste. Diese Fahrzeuge werden dargestellt.
void zeichne ()
 Diese Funktion aktuallisiert die Darstellung ohne neue Daten einzulesen.
 ~GLWireframe ()
 Destruktor der Klasse GLWireframe.

Geschützte Methoden

void clear ()
 Funktion zum setzten von Standardwerten fuer die privaten Variablen.
void erzeugeParameter ()
 Diese Funktion erzeugt die Verschiebungskoordinaten, Maxima und Minima.
double gibMaximaleAusdehnung ()
 Liefert die maximale Ausdehnung des aktullen Objektes.
void initializeGL ()
 Initialisieren des OpenGL und erzeugen der Spurenliste. Aufgaben der Funktion sind die grundlegenden Einstellungen fuer die Darstellung vorzunehmen. Es wird die Hintergrundfarbe gesetzezt und die Objekte fuer die Zeichnung erzeugt. Durch das Erzeugen der Objekte kann ein Objekt als Einheit in der Funktion void GLWireframe::paintGL() gezeichnet werden.
void ladeStandardwerte ()
 Setzt Grundeinstellungen zurueck. Diese Funktion setzt das Zoomen und Rotieren der Objekte auf grundlegende Einstellungen zurueck. Die eventuell im Konstruktor uebergebenen Werte werden dabei genutzt.
void mouseMoveEvent (QMouseEvent *event)
 Aufruf beim Bewegen der Maus.
void mousePressEvent (QMouseEvent *event)
 Aufruf beim druecken eine Maustaste.
void mouseReleaseEvent (QMouseEvent *event)
 Aufruf beim loslassen einer Maustaste.
void paintGL ()
 Die Funktion wird jedesmal, wenn das Widget neu gezeichnet werden muss aufgerufen.
void resizeGL (int breite, int hoehe)
 Aufruf beim Veraendern der Groesse des OpenGL-Widgets. Diese Funktion dient dazu, die Verzerrung des dargestellten Bildes beim Aendern der Fenstergroesse zu verhindern. Wird die Fenstergroesse geaendert, so wird automatisch das Bild vergroessert oder verkleinert.
void setMaterialColor3d (Koordinaten farbe)
 Diese Funktion setzt die Farbwerte der Materialeigenschaften mit sinnvollen Werten, unterstuezt damit aber keine speziellen Effekte!
void transform ()
 Stellt die Kamerapositionen ein und dreht das Objekt.
void wheelEvent (QWheelEvent *event)
 Aufruf beim Scrollen mit dem Mausrad.
void zeichneFahrzeug (Fahrzeug *fahrzeug)
 generiert ein Fahrzeug fuer die Darstellung
void zeichneHaltelinie (Spur *spur)
 Haltelinie der uebergebene Spur wird dargestellt.
void zeichneKreuzung (Kreuzung *kreuzung)
 Zeichnet das Zentrum einer uebergebenen Kreuzung.
void zeichneSpur (Spur *spur)
 Uebergebene Spur wird dargestellt. Alle zum Zeichnen benoetigten Parameter sind im Spur-Objekt enthalten. Die Haltelinie muss allerdings einzeln dargestellt werden.
void zeichneSpurverbindung (Spur *vorgaenger, Spur *nachfolger)
 Verbindet grafisch beide uebergebene Spuren.

Ausführliche Beschreibung

Widget zur Darstellung der Objekte in OpenGL.

Autor:
Nico Schroeder

Definiert in Zeile 24 der Datei GLWireframe.h.


Beschreibung der Konstruktoren und Destruktoren

GLWireframe::GLWireframe QWidget *  parent = 0,
const char *  name = 0,
QGLWidget *  share = 0,
WFlags  f = 0,
Spur **  spurenliste = 0,
long int  anzahlSpuren = 0,
Liste kreuzungsliste = 0
 

Konstruktor der Klasse GLWireframe.

Autor:
Andreas Richter
Parameter:
parent Angabe des Elternwidgets
name Name des zu erzeugenden Widgets
share 
f Flags fuer Qt
spurenliste Ein Zeiger auf die Liste der darzustellenden Spuren
anzahlSpuren Die Anzahl der in der Liste vorhandenen Spuren
kreuzungsliste Die Liste der Kreuzungen

Definiert in Zeile 30 der Datei GLWireframe.cpp.

Benutzt clear(), erzeugeParameter(), initializeGL() und ladeWerkseinstellungen().

GLWireframe::GLWireframe QWidget *  parent,
const char *  name,
QGLWidget *  share,
WFlags  f,
double  xRotD,
double  yRotD,
double  zRotD,
double  xKameraD,
double  yKameraD,
double  zKameraD,
Spur **  spurenliste,
long int  anzahlSpuren,
Liste kreuzungsliste
 

Konstruktor der Klasse GLWireframe.

Autor:
Andreas Richter
Parameter:
parent Angabe des Elternwidgibs
name Name des zu erzeugenden Widgibs
share 
f Flags fuer Qt
xRotD gibt die Rotation des Objektes um x an
yRotD gibt die Rotation des Objektes um y an
zRotD gibt die Rotation des Objektes um z an
xKameraD gibt die Position der Kamara an
yKameraD gibt die Position der Kamara an
zKameraD gibt die Position der Kamara an
spurenliste Ein Zeiger auf die Liste der darzustellenden Spuren
anzahlSpuren Die Anzahl der in der Liste vorhandenen Spuren
kreuzungsliste Die Liste der Kreuzungen

Definiert in Zeile 107 der Datei GLWireframe.cpp.

Benutzt clear(), erzeugeParameter(), initializeGL() und ladeStandardwerte().

GLWireframe::~GLWireframe  ) 
 

Destruktor der Klasse GLWireframe.

Autor:
Andreas Richter

Definiert in Zeile 147 der Datei GLWireframe.cpp.


Dokumentation der Elementfunktionen

void GLWireframe::clear  )  [protected]
 

Funktion zum setzten von Standardwerten fuer die privaten Variablen.

Autor:
Andreas Richter

Definiert in Zeile 662 der Datei GLWireframe.cpp.

Wird benutzt von GLWireframe().

void GLWireframe::erzeugeParameter  )  [protected]
 

Diese Funktion erzeugt die Verschiebungskoordinaten, Maxima und Minima.

Autor:
Andreas Richter

Definiert in Zeile 53 der Datei GLWireframe.cpp.

Benutzt Spur::gibKoordinaten(), Koordinaten::x, Koordinaten::y und Koordinaten::z.

Wird benutzt von GLWireframe() und ladeWerkseinstellungen().

double GLWireframe::gibMaximaleAusdehnung  )  [protected]
 

Liefert die maximale Ausdehnung des aktullen Objektes.

Autor:
Nico Schroeder
Rückgabe:
ausdehnung Gibt die Ausdehnung zurueck

Definiert in Zeile 705 der Datei GLWireframe.cpp.

Wird benutzt von setzeTranslationImpulse(), setzeZoom() und transform().

double GLWireframe::gibXKamera  ) 
 

Liefert den x-Wert der aktuellen Kameraposition.

Autor:
Andreas Richter
Rückgabe:
der Positionswert

Definiert in Zeile 597 der Datei GLWireframe.cpp.

double GLWireframe::gibXRot  ) 
 

Liefert die aktuelle Rotation um x.

Autor:
Andreas Richter
Rückgabe:
der Rotationswert

Definiert in Zeile 546 der Datei GLWireframe.cpp.

double GLWireframe::gibYKamera  ) 
 

Liefert den y-Wert der aktuellen Kameraposition.

Autor:
Andreas Richter
Rückgabe:
der Positionswert

Definiert in Zeile 614 der Datei GLWireframe.cpp.

double GLWireframe::gibYRot  ) 
 

Liefert die aktuelle Rotation um y.

Autor:
Andreas Richter
Rückgabe:
der Rotationswert

Definiert in Zeile 563 der Datei GLWireframe.cpp.

double GLWireframe::gibZRot  ) 
 

Liefert die aktuelle Rotation um z.

Autor:
Andreas Richter
Rückgabe:
der Rotationswert

Definiert in Zeile 580 der Datei GLWireframe.cpp.

void GLWireframe::initializeGL  )  [protected]
 

Initialisieren des OpenGL und erzeugen der Spurenliste. Aufgaben der Funktion sind die grundlegenden Einstellungen fuer die Darstellung vorzunehmen. Es wird die Hintergrundfarbe gesetzezt und die Objekte fuer die Zeichnung erzeugt. Durch das Erzeugen der Objekte kann ein Objekt als Einheit in der Funktion void GLWireframe::paintGL() gezeichnet werden.

Autor:
Andreas Richter

Definiert in Zeile 207 der Datei GLWireframe.cpp.

Wird benutzt von GLWireframe().

void GLWireframe::ladeStandardwerte  )  [protected]
 

Setzt Grundeinstellungen zurueck. Diese Funktion setzt das Zoomen und Rotieren der Objekte auf grundlegende Einstellungen zurueck. Die eventuell im Konstruktor uebergebenen Werte werden dabei genutzt.

Autor:
Andreas Richter

Definiert in Zeile 730 der Datei GLWireframe.cpp.

Wird benutzt von GLWireframe() und ladeWerkseinstellungen().

void GLWireframe::ladeWerkseinstellungen  )  [slot]
 

Setzt auf Werkseinstellungen zurueck. Diese Funktion setzt das Zoomen und Rotieren der Objekte auf grundlegende Werkseinstellungen zurueck. Die im Konstruktor uebergebenen Werte werden dabei ueberschrieben.

Autor:
Andreas Richter

Definiert in Zeile 763 der Datei GLWireframe.cpp.

Benutzt erzeugeParameter() und ladeStandardwerte().

Wird benutzt von GLWireframe().

void GLWireframe::mouseMoveEvent QMouseEvent *  event  )  [protected]
 

Aufruf beim Bewegen der Maus.

Autor:
Andreas Richter
Parameter:
event aktuelle Mausposition

Definiert in Zeile 482 der Datei GLWireframe.cpp.

Benutzt setzeRotationImpulse(), setzeTranslationImpulse() und setzeZoom().

void GLWireframe::mousePressEvent QMouseEvent *  event  )  [protected]
 

Aufruf beim druecken eine Maustaste.

Autor:
Andreas Richter
Parameter:
event aktuelle Mausposition

Definiert in Zeile 446 der Datei GLWireframe.cpp.

void GLWireframe::mouseReleaseEvent QMouseEvent *  event  )  [protected]
 

Aufruf beim loslassen einer Maustaste.

Autor:
Andreas Richter
Parameter:
event aktuelle Mausposition

Definiert in Zeile 464 der Datei GLWireframe.cpp.

void GLWireframe::paintGL  )  [protected]
 

Die Funktion wird jedesmal, wenn das Widget neu gezeichnet werden muss aufgerufen.

Autor:
Andreas Richter

Definiert in Zeile 161 der Datei GLWireframe.cpp.

Benutzt Liste::geheZuErsten(), Liste::geheZuNaechsten(), Liste::gibDaten(), Liste::istEnde(), Fahrzeug::sollEntferntWerden(), transform(), zeichneFahrzeug() und zeichneHaltelinie().

void GLWireframe::resizeGL int  breite,
int  hoehe
[protected]
 

Aufruf beim Veraendern der Groesse des OpenGL-Widgets. Diese Funktion dient dazu, die Verzerrung des dargestellten Bildes beim Aendern der Fenstergroesse zu verhindern. Wird die Fenstergroesse geaendert, so wird automatisch das Bild vergroessert oder verkleinert.

Autor:
Andreas Richter
Parameter:
breite neue Breite des Widgibs
hoehe neue Hoehe des Widgibs

Definiert in Zeile 259 der Datei GLWireframe.cpp.

void GLWireframe::setMaterialColor3d Koordinaten  farbe  )  [protected]
 

Diese Funktion setzt die Farbwerte der Materialeigenschaften mit sinnvollen Werten, unterstuezt damit aber keine speziellen Effekte!

Autor:
Andreas Richter
Parameter:
farbe RGB-Tripel

Definiert in Zeile 2414 der Datei GLWireframe.cpp.

Benutzt Koordinaten::x, Koordinaten::y und Koordinaten::z.

Wird benutzt von zeichneFahrzeug(), zeichneHaltelinie(), zeichneKreuzung(), zeichneSpur() und zeichneSpurverbindung().

void GLWireframe::setzeFahrzeugliste Liste fahrzeugliste  ) 
 

Dient zum setzen der Fahrzeugliste. Diese Fahrzeuge werden dargestellt.

Autor:
Andreas Richter
Parameter:
fahrzeugliste Neue Fahrzeugkiste

Definiert in Zeile 2446 der Datei GLWireframe.cpp.

void GLWireframe::setzeKreuzungsliste Liste kreuzungsliste  ) 
 

Dient zum setzen der Fahrzeugliste. Diese Fahrzeuge werden dargestellt.

Autor:
Andreas Richter
Parameter:
fahrzeugliste Neue Fahrzeugkiste

Definiert in Zeile 2462 der Datei GLWireframe.cpp.

void GLWireframe::setzeMaussteuerung int  maussteuerung  )  [slot]
 

Setzt die zu benutzende Maussteuerung.

Autor:
Andreas Richter

Definiert in Zeile 686 der Datei GLWireframe.cpp.

void GLWireframe::setzeRotationImpulse double  x,
double  y,
double  z
[slot]
 

Stellt die Rotationen neu ein.

Autor:
Andreas Richter
Parameter:
x neuer Wert fuer die Rotation um x
y neuer Wert fuer die Rotation um y
z neuer Wert fuer die Rotation um z

Definiert in Zeile 378 der Datei GLWireframe.cpp.

Benutzt setzeXRotation(), setzeYRotation() und setzeZRotation().

Wird benutzt von mouseMoveEvent().

void GLWireframe::setzeTranslationImpulse double  x,
double  y
[slot]
 

Setzt den Wert fuer die Verschiebung der Objekte.

Autor:
Andreas Richter
Parameter:
x Aenderung der Verschiebung nach links/rechts
y Aenderung der Verschiebung nach oben/unten

Definiert in Zeile 420 der Datei GLWireframe.cpp.

Benutzt gibMaximaleAusdehnung().

Wird benutzt von mouseMoveEvent().

void GLWireframe::setzeXRotation double  grad  )  [slot]
 

Setzt den Wert fuer die Rotation um die x-Achse.

Autor:
Andreas Richter
Parameter:
grad Neuer Wert fuer die Rotation in Grad

Definiert in Zeile 319 der Datei GLWireframe.cpp.

Wird benutzt von setzeRotationImpulse().

void GLWireframe::setzeYRotation double  grad  )  [slot]
 

Setzt den Wert fuer die Rotation um die y-Achse.

Autor:
Andreas Richter
Parameter:
grad Neuer Wert fuer die Rotation in Grad

Definiert in Zeile 338 der Datei GLWireframe.cpp.

Wird benutzt von setzeRotationImpulse().

void GLWireframe::setzeZoom double  aenderung  )  [slot]
 

Setzt den Wert fuer den Zoom, dabei wird die Kamera in z-Richtung bewegt.

Autor:
Andreas Richter
Parameter:
aenderung Um diesen Wert soll der Zoom veraendert werden

Definiert in Zeile 397 der Datei GLWireframe.cpp.

Benutzt gibMaximaleAusdehnung().

Wird benutzt von mouseMoveEvent() und wheelEvent().

void GLWireframe::setzeZRotation double  grad  )  [slot]
 

Setzt den Wert fuer die Rotation um die z-Achse.

Autor:
Andreas Richter
Parameter:
grad Neuer Wert fuer die Rotation in Grad

Definiert in Zeile 357 der Datei GLWireframe.cpp.

Wird benutzt von setzeRotationImpulse().

void GLWireframe::transform  )  [protected]
 

Stellt die Kamerapositionen ein und dreht das Objekt.

Autor:
Andreas Richter

Definiert in Zeile 292 der Datei GLWireframe.cpp.

Benutzt gibMaximaleAusdehnung().

Wird benutzt von paintGL().

void GLWireframe::wheelEvent QWheelEvent *  event  )  [protected]
 

Aufruf beim Scrollen mit dem Mausrad.

Autor:
Andreas Richter
Parameter:
event aktuelle Mausposition

Definiert in Zeile 528 der Datei GLWireframe.cpp.

Benutzt setzeZoom().

void GLWireframe::zeichne  ) 
 

Diese Funktion aktuallisiert die Darstellung ohne neue Daten einzulesen.

Autor:
Andreas Richter

Definiert in Zeile 647 der Datei GLWireframe.cpp.

void GLWireframe::zeichneFahrzeug Fahrzeug fahrzeug  )  [protected]
 

generiert ein Fahrzeug fuer die Darstellung

Autor:
Andreas Richter
Parameter:
fahrzeug Das zu zeichnende Fahrzeugobjekt

Definiert in Zeile 1324 der Datei GLWireframe.cpp.

Benutzt Spur::gibAusrichtung(), Fahrzeug::gibFarbe(), Spur::gibKoordinaten(), Fahrzeug::gibLaenge(), Fahrzeug::gibPosition(), Spur::gibRichtung(), Fahrzeug::gibSpur(), Fahrzeug::gibTyp(), Fahrzeug::istBremsend(), setMaterialColor3d(), Koordinaten::x, Koordinaten::y und Koordinaten::z.

Wird benutzt von paintGL().

void GLWireframe::zeichneHaltelinie Spur spur  )  [protected]
 

Haltelinie der uebergebene Spur wird dargestellt.

Autor:
Andreas Richter
Parameter:
spur Spur, deren Halteline dargestellt werden soll

Definiert in Zeile 1031 der Datei GLWireframe.cpp.

Benutzt Spur::gibAusrichtung(), Spur::gibEndzustand(), Spur::gibKoordinaten(), Spur::gibLaenge(), Spur::gibRichtung(), setMaterialColor3d(), Koordinaten::x, Koordinaten::y und Koordinaten::z.

Wird benutzt von paintGL().

void GLWireframe::zeichneKreuzung Kreuzung kreuzung  )  [protected]
 

Zeichnet das Zentrum einer uebergebenen Kreuzung.

Autor:
Andreas Richter
Parameter:
kreuzung Kreuzung, die dargestellt werden soll

Definiert in Zeile 1103 der Datei GLWireframe.cpp.

Benutzt Spur::gibKoordinaten(), Spur::gibLaenge(), Kreuzung::gibSpur(), setMaterialColor3d(), Koordinaten::x, Koordinaten::y und Koordinaten::z.

void GLWireframe::zeichneSpur Spur spur  )  [protected]
 

Uebergebene Spur wird dargestellt. Alle zum Zeichnen benoetigten Parameter sind im Spur-Objekt enthalten. Die Haltelinie muss allerdings einzeln dargestellt werden.

Autor:
Andreas Richter
Parameter:
spur Spur, die dargestellt werden soll

Definiert in Zeile 853 der Datei GLWireframe.cpp.

Benutzt Spur::gibAbbiegerichtung(), Spur::gibAusrichtung(), Spur::gibKoordinaten(), Spur::gibLaenge(), Spur::gibRichtung(), setMaterialColor3d(), Koordinaten::x, Koordinaten::y und Koordinaten::z.

void GLWireframe::zeichneSpurverbindung Spur vorgaenger,
Spur nachfolger
[protected]
 

Verbindet grafisch beide uebergebene Spuren.

Autor:
Andreas Richter
Parameter:
vorgaenger erste Spur
nachfolger zweite Spur

Definiert in Zeile 1244 der Datei GLWireframe.cpp.

Benutzt Spur::gibAusrichtung(), Spur::gibKoordinaten(), Spur::gibLaenge(), Spur::gibRichtung(), setMaterialColor3d(), Koordinaten::x, Koordinaten::y und Koordinaten::z.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Tue Jun 14 18:37:00 2005 für TraffSpot von  doxygen 1.3.9.1