#include <Opengl.h>
Definiert in Zeile 24 der Datei Opengl.h.
Öffentliche, statische Methoden | |
void | setAnimation (bool enable) |
void | singleStep () |
int | getObjectID (int x, int y) |
void | reloadWindow () |
void | redraw () |
int | getNextLight () |
void | loop () |
void | init (int &argc, char **argv) |
Private, statische Methoden | |
void | CreateEnvironment () |
void | RenderUniverse () |
void | RenderObjects () |
void | HandleReshape (int w, int h) |
void | HandleIdle () |
void | HandleTimer (int value) |
Statische private Attribute | |
int | freeLight = 0 |
|
Setzt einige Opengl Einstellungen fuers Zeichen die waehrend des ganzen Programmlaufes den selben Wert besitzen. Definiert in Zeile 66 der Datei Opengl.cpp. Wird benutzt von init(). |
|
Gibt waehrend eines Renderings fortlaufend noch nicht verwendete Opengl Lichter (GL_LIGHTX) zurueck die fuer Lichtquellen verwendet werden koennen. Es gibt nur 8 Opengl Lichter.
Definiert in Zeile 36 der Datei Opengl.cpp. Benutzt freeLight. Wird benutzt von Sun::draw() und RenderObjects(). |
|
Ermittelt den Opengl Namen des Objekts das sich auf der Projektionsflaeche an der Position (x,y) befindet. Dieser Name ist im Falle eines Astronomischen Objektes gleich seiner Speicherposition und muss gecastet werden.
Definiert in Zeile 390 der Datei Opengl.cpp. Benutzt Camera::loadCameraPerspective(), ourCamera und RenderObjects(). Wird benutzt von Window::HandleMouse(). |
|
|
|
Callback Funktion die beim Veraendern der Fenstergroesse aufgerufen wird. Passt die Paramter der Kamera und des 3D Fensters an damit das Projektionszentrum korrekt in der Mitte des 3D Fensters angezeigt wird.
Definiert in Zeile 268 der Datei Opengl.cpp. Benutzt ourCamera, ourConfiguration, Camera::setScreen() und Configuration::showMenu. Wird benutzt von init() und reloadWindow(). |
|
Callback Funktion die wenn die Animation gestartet wurde regelmaessig von Opengl ausgefuehrt wird und die Berechnung des naechsten Schrittes startet.
Definiert in Zeile 499 der Datei Opengl.cpp. Benutzt Configuration::freezeAnimation, ObjectManager::getObjectCount(), HandleTimer(), ourConfiguration, ourObjectManager, singleStep() und TIMERUPDATE. Wird benutzt von HandleTimer() und setAnimation(). |
|
Metode die Opengl / Glut initialisiert und das erzeugen des 3D Fensters durchfuehrt und das erzeugen der Fenster anstoesst. Die Kommandozeilen Parameter koennen an diese Funktion uebergeben werden und an glut weitergegeben werden.
Definiert in Zeile 516 der Datei Opengl.cpp. Benutzt CreateEnvironment(), Window::CreateWindows(), Camera::getScreenHeight(), Camera::getScreenWidth(), HandleReshape(), ourCamera und RenderUniverse(). Wird benutzt von main(). |
|
Startet die Glut Mainloop Definiert in Zeile 570 der Datei Opengl.cpp. Wird benutzt von main(). |
|
Stoesst das Zeichnen des 3D Fensters an. In der Opengl Mainloop wird bei naechster Gelegenheit die Callbackfunktion fuer die Fensterzeichnung gestartet. Definiert in Zeile 57 der Datei Opengl.cpp. Wird benutzt von Object::AttributeMenuCallback(), Window::MenuMainCallback() und singleStep(). |
|
Laedt die Einstellungen des 3D Fensters neu. Definiert in Zeile 48 der Datei Opengl.cpp. Benutzt HandleReshape(). Wird benutzt von Window::MenuMainCallback() und Window::showMenu(). |
|
Zeichnet alle Astronomischen Objekte neu. Definiert in Zeile 120 der Datei Opengl.cpp. Benutzt ObjectManager::drawObjects(), freeLight, getNextLight(), Camera::loadCameraMatrix(), ourCamera und ourObjectManager. Wird benutzt von getObjectID() und RenderUniverse(). |
|
Zeichnet das 3D Fenster neu. Definiert in Zeile 166 der Datei Opengl.cpp. Benutzt Camera::loadCameraPerspective(), ourCamera, ourConfiguration, RenderObjects(), Window::setRenderDetails(), Configuration::showLighting, timediffNow() und Configuration::viewModel. Wird benutzt von init(). |
|
Setzt den Animationsszustand und dafuer benoetigten Timer.
Definiert in Zeile 296 der Datei Opengl.cpp. Benutzt Configuration::constructMode, Configuration::freezeAnimation, ObjectManager::getObjectCount(), HandleTimer(), ourConfiguration, ourObjectManager, Window::setAnimationControls() und TIMERUPDATE. Wird benutzt von Configuration::loadWorld(), Window::MenuMainCallback() und PhysikEngine::simulateGravity(). |
|
Fuehrt einen einzelnen Berechnungsschritt aus und zeigt das Ergebnis an. Dafuer wird u.a. der Integrator mit der Ausgewaehlten Zeit gestartet und die Kamera (im Folge Modus) bewegt. Definiert in Zeile 320 der Datei Opengl.cpp. Benutzt Object::attributeWindowShown(), Configuration::clickedObject, Vector::crossProduct(), Configuration::followObject, Vector::getNormalised(), ObjectManager::getObjectCount(), Camera::getPosition(), Camera::getProjectionCenter(), Object::getScaledPos(), Object::getScaledRadius(), Configuration::getTime(), Camera::getUpper(), Vector::length(), ObjectManager::nextTimeStep(), ourCamera, ourConfiguration, ourObjectManager, redraw(), Object::refreshAttributes(), Camera::setPosition(), Camera::setProjectionCenter(), Camera::setUpper(), PhysikEngine::simulateGravity(), Object::v und Configuration::viewToObjectsFlightDirection. Wird benutzt von Window::HandleKeyboard(), HandleTimer() und Window::MenuMainCallback(). |
|
Enthaelt die Position der naechsten zu Vergebenden Lichtquelle waehrend eines Rendering Prozesses Definiert in Zeile 27 der Datei Opengl.cpp. Wird benutzt von getNextLight() und RenderObjects(). |