Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Alphabetische Liste | Datenstrukturen | Auflistung der Dateien | Datenstruktur-Elemente | Datei-Elemente

Integrator Klassenreferenz

#include <Integrator.h>

Klassendiagramm für Integrator:

RungeKutta RungeKuttaAdaptive

Ausführliche Beschreibung

Die Klasse dient quasi als Schnittstellenbasisklasse fuer alle Integratoren. Abgeleitete Klassen (d.h. Integratoren) muessen unbedingt Implementierungen fuer alle virtuellen Funktionen zur Verfuegung stellen. Ausserdem muessen sie ueber eine Kollisionskontrolle verfuegen. (siehe bereits existierende Integratoren)

Definiert in Zeile 28 der Datei Integrator.h.

Öffentliche Methoden

virtual double integrate (double time)=0
virtual list< Collisionspair > * getCollisionslist ()=0
virtual string getName ()=0
virtual double getTime ()=0
virtual void save (ostream &FILE)=0
virtual void load (istream &FILE)=0
virtual void createAttributeWindow ()=0
void setObjects (objectList *objList)
virtual ~Integrator ()

Öffentliche, statische Methoden

char * NumToType (const int typenum)
int TypeToInt (const string &intType)
int getTypeCount ()
IntegratorcreateIntegrator (const string &name)
void closeAttributeWindow ()

Geschützte Typen

enum  button { CANCEL, OK }

Geschützte Methoden

void createBasisAttributeWindow ()
double abs (double a)
double MAX (double a, double b)
float MAX (float a, float b)
double MIN (double a, double b)
float MIN (float a, float b)
double sqr (double x)
float sqr (float x)
double cubic (double x)
float cubic (float x)
virtual void deleteAdditionalInformation (void *additionalInformation)=0
virtual void saveAttributes ()=0
virtual void loadAttributes ()=0

Geschützte Attribute

objectListobjects

Statische geschützte Attribute

classWindowEditAttributeseditAttributes = 0

Private, statische Methoden

void AttributeMenuCallback (int i)


Dokumentation der Aufzählungstypen

enum Integrator::button [protected]
 

Aufzählungswerte:
CANCEL 
OK 

Definiert in Zeile 35 der Datei Integrator.h.


Beschreibung der Konstruktoren und Destruktoren

virtual Integrator::~Integrator  )  [inline, virtual]
 

Definiert in Zeile 203 der Datei Integrator.h.

Benutzt closeAttributeWindow().


Dokumentation der Elementfunktionen

double Integrator::abs double  a  )  [inline, protected]
 

Parameter:
a double-Wert
Rückgabe:
Absolutwert von a

Definiert in Zeile 55 der Datei Integrator.h.

Wird benutzt von RungeKuttaAdaptive::rkqs().

void Integrator::AttributeMenuCallback int  b  )  [static, private]
 

Callback-Funktion fuer OK, Cancel Button

Parameter:
b gedrueckter Button

Definiert in Zeile 132 der Datei Integrator.cpp.

Benutzt CANCEL, closeAttributeWindow(), editAttributes, Integrator::classWindowEditAttributes::my, OK und saveAttributes().

Wird benutzt von createBasisAttributeWindow().

void Integrator::closeAttributeWindow  )  [static]
 

schließt das AttributeWindow des aktuellen Integators

Definiert in Zeile 90 der Datei Integrator.cpp.

Benutzt Integrator::classWindowEditAttributes::additionalInformation, Integrator::classWindowEditAttributes::attributeWindow, deleteAdditionalInformation(), editAttributes und Integrator::classWindowEditAttributes::my.

Wird benutzt von AttributeMenuCallback(), createBasisAttributeWindow(), Configuration::loadConfiguration(), Window::MenuOptionCallback() und ~Integrator().

virtual void Integrator::createAttributeWindow  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von Window::MenuOptionCallback().

void Integrator::createBasisAttributeWindow  )  [protected]
 

Erzeuge AttributeWindow, um Eigenschaften des Integrators festzulegen

Definiert in Zeile 104 der Datei Integrator.cpp.

Benutzt Integrator::classWindowEditAttributes::additionalInformation, AttributeMenuCallback(), Integrator::classWindowEditAttributes::attributeWindow, CANCEL, closeAttributeWindow(), editAttributes, Integrator::classWindowEditAttributes::my und OK.

Wird benutzt von RungeKuttaAdaptive::createAttributeWindow() und RungeKutta::createAttributeWindow().

Integrator * Integrator::createIntegrator const string &  name  )  [static]
 

erzeugt neuen Integator vom Typ name

Parameter:
name Typ des Integrators (char-Name)
Rückgabe:
Zeiger auf erzeugten Integrator

Definiert in Zeile 38 der Datei Integrator.cpp.

Benutzt editAttributes.

Wird benutzt von Configuration::Configuration(), Configuration::loadConfiguration() und Window::MenuOptionCallback().

float Integrator::cubic float  x  )  [inline, protected]
 

Parameter:
x float-Wert
Rückgabe:
x*x*x

Definiert in Zeile 123 der Datei Integrator.h.

double Integrator::cubic double  x  )  [inline, protected]
 

Parameter:
x double-Wert
Rückgabe:
x*x*x

Definiert in Zeile 115 der Datei Integrator.h.

Wird benutzt von RungeKuttaAdaptive::acceleration() und RungeKutta::acceleration().

virtual void Integrator::deleteAdditionalInformation void *  additionalInformation  )  [protected, pure virtual]
 

loescht *additionalInformation und wird von closeAttributeWindow aufgerufen

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von closeAttributeWindow().

virtual list<Collisionspair>* Integrator::getCollisionslist  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von PhysikEngine::simulateGravity().

virtual string Integrator::getName  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von Window::load() und Configuration::saveConfiguration().

virtual double Integrator::getTime  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von PhysikEngine::simulateGravity().

int Integrator::getTypeCount  )  [static]
 

Rückgabe:
Anzahl der verschiedenen Integratoren (INTEGRATORS)

Definiert in Zeile 56 der Datei Integrator.cpp.

Benutzt INTEGRATORS.

Wird benutzt von Window::CreateOptionWindow().

virtual double Integrator::integrate double  time  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von PhysikEngine::simulateGravity().

virtual void Integrator::load istream &  FILE  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von Configuration::loadConfiguration().

virtual void Integrator::loadAttributes  )  [protected, pure virtual]
 

laedt individuelle Einstellungen des jeweiligen Integrators

Implementiert in RungeKutta und RungeKuttaAdaptive.

float Integrator::MAX float  a,
float  b
[inline, protected]
 

Parameter:
a float-Wert
b float-Wert
Rückgabe:
Maximum von a und b

Definiert in Zeile 73 der Datei Integrator.h.

double Integrator::MAX double  a,
double  b
[inline, protected]
 

Parameter:
a double-Wert
b double-Wert
Rückgabe:
Maximum von a und b

Definiert in Zeile 64 der Datei Integrator.h.

float Integrator::MIN float  a,
float  b
[inline, protected]
 

Parameter:
a float-Wert
b float-Wert
Rückgabe:
Minimum von a und b

Definiert in Zeile 91 der Datei Integrator.h.

double Integrator::MIN double  a,
double  b
[inline, protected]
 

Parameter:
a double-Wert
b double-Wert
Rückgabe:
Minimum von a und b

Definiert in Zeile 82 der Datei Integrator.h.

char * Integrator::NumToType const int  typenum  )  [static]
 

wandelt int-Namen des Integators in char-Namen um

Parameter:
typenum int-Name des Integators
Rückgabe:
char-Name des Integrators

Definiert in Zeile 78 der Datei Integrator.cpp.

Benutzt integratorName und INTEGRATORS.

virtual void Integrator::save ostream &  FILE  )  [pure virtual]
 

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von Configuration::saveConfiguration().

virtual void Integrator::saveAttributes  )  [protected, pure virtual]
 

speichert individuelle Einstellungen des jeweiligen Integrators

Implementiert in RungeKutta und RungeKuttaAdaptive.

Wird benutzt von AttributeMenuCallback().

void Integrator::setObjects objectList objList  )  [inline]
 

Veraendert die zur Berechung verwendete Objektliste

Parameter:
objList neue Objektliste

Definiert in Zeile 198 der Datei Integrator.h.

Benutzt objectList.

Wird benutzt von PhysikEngine::simulateGravity().

float Integrator::sqr float  x  )  [inline, protected]
 

Parameter:
x float-Wert
Rückgabe:
x*x

Definiert in Zeile 107 der Datei Integrator.h.

double Integrator::sqr double  x  )  [inline, protected]
 

Parameter:
x double-Wert
Rückgabe:
x*x

Definiert in Zeile 99 der Datei Integrator.h.

Wird benutzt von RungeKuttaAdaptive::distance() und RungeKutta::distance().

int Integrator::TypeToInt const string &  intType  )  [static]
 

wandelt char-Namen des Integators in int-Namen um

Parameter:
intType char-Name des Integators
Rückgabe:
int-Name des Integrators

Definiert in Zeile 65 der Datei Integrator.cpp.

Benutzt integratorName und INTEGRATORS.


Dokumentation der Datenelemente

Integrator::classWindowEditAttributes * Integrator::editAttributes = 0 [static, protected]
 

Autor:
Julian M. Kunkel, Jan C. Neddermeyer

Definiert in Zeile 18 der Datei Integrator.cpp.

Wird benutzt von AttributeMenuCallback(), closeAttributeWindow(), createBasisAttributeWindow() und createIntegrator().

objectList* Integrator::objects [protected]
 

Zeiger auf Liste, die alle Objekte enthaelt, welche zur Berechnung der Graviationskräfte herangezogen werden.

Definiert in Zeile 131 der Datei Integrator.h.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Mon May 30 14:31:16 2005 für Sunsystembuildingandsimulation von doxygen 1.3.6