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

ObjectManager Klassenreferenz

#include <ObjectManager.h>


Ausführliche Beschreibung

Diese Klasse verwaltet alle Objekte, kann Objekte erzeugen, loeschen usw.

Definiert in Zeile 27 der Datei ObjectManager.h.

Öffentliche Methoden

 ObjectManager ()
 ~ObjectManager ()
objectListgetObjectList ()
void deleteAllObjects ()
int getObjectCount ()
ObjectgetFarthestAwayObject ()
void viewDetailInformationForAllObjects ()
ObjectcreateObject (const string &objectType)
ObjectcreateFreeObject (const string &objectType)
void createRandomObject (string type, int mMass, int mPos, int mR, int mV)
void addFreeObjectToObjectList (Object *obj)
void deleteObject (objectList::iterator &it)
void deleteObject (Object *obj)
void load (istream &FILE)
void save (ostream &FILE)
void drawObjects ()
void nextTimeStep ()

Öffentliche, statische Methoden

int TypeToInt (const string &objType)
char * NumToType (const int typenum)
int getTypeCount ()

Private Attribute

objectList objects
list< OldPositionoldPositions
int oldPositionTimeSteps


Beschreibung der Konstruktoren und Destruktoren

ObjectManager::ObjectManager  ) 
 

Konstruktor

Definiert in Zeile 264 der Datei ObjectManager.cpp.

Benutzt oldPositionTimeSteps.

ObjectManager::~ObjectManager  ) 
 

Destruktor: loescht alle Objekte in der Objektliste

Definiert in Zeile 272 der Datei ObjectManager.cpp.

Benutzt deleteAllObjects().


Dokumentation der Elementfunktionen

void ObjectManager::addFreeObjectToObjectList Object obj  ) 
 

fuegt ein Objekt in die Objektliste ein

Parameter:
*obj Objekt, das eingefuegt wird

Definiert in Zeile 57 der Datei ObjectManager.cpp.

Benutzt Object::getDrawPriority().

Wird benutzt von CollisionsManager::collide() und createObject().

Object * ObjectManager::createFreeObject const string &  objectType  ) 
 

erzeugt neues Objekt

Parameter:
objectType Typ des neuen Objekts
Rückgabe:
Zeiger auf neues Objekt

Definiert in Zeile 38 der Datei ObjectManager.cpp.

Benutzt Message::msg().

Wird benutzt von CollisionsManager::collide() und createObject().

Object * ObjectManager::createObject const string &  objectType  ) 
 

erzeugt neues Objekt vom Typ objectType und fuegt es in die Objectliste ein

Parameter:
*objectType Typ des neuen Objekts
Rückgabe:
Zeiger auf neues Objekt

Definiert in Zeile 70 der Datei ObjectManager.cpp.

Benutzt addFreeObjectToObjectList() und createFreeObject().

Wird benutzt von createRandomObject(), load() und Window::MenuConstructionCallback().

void ObjectManager::createRandomObject string  type,
int  mMass,
int  mPos,
int  mR,
int  mV
 

Erzeugt neues Objekt vom Typ type mit groessenbeschraekten Daten und fuegt dieses in die Objectliste ein.

Parameter:
type Typ des neuen Objekts
mMass max. Masse, die das Objekt haben darf
mPos max. Entfernung vom Ursprung (komponentenweise), die das Objekt haben darf
mR max. Radius, den das Objekt haben darf
mV max. Geschwindigkeit (komponentenweise), die das Objekt haben darf

Definiert in Zeile 104 der Datei ObjectManager.cpp.

Benutzt createObject(), Object::mass, Object::pos, potenzRand(), Object::radius, Object::v, Vector::x, Vector::y und Vector::z.

Wird benutzt von Window::MenuConstructionCallback().

void ObjectManager::deleteAllObjects  ) 
 

loescht alle Objekt aus der Objektliste

Definiert in Zeile 247 der Datei ObjectManager.cpp.

Benutzt TextureManager::freeTextures(), oldPositions, oldPositionTimeSteps und ourTextureManager.

Wird benutzt von load(), Window::MenuConstructionCallback() und ~ObjectManager().

void ObjectManager::deleteObject Object obj  ) 
 

loescht ein Objekt aus der Objektliste

Parameter:
*obj Zeiger auf zu loeschendes Objekt

Definiert in Zeile 234 der Datei ObjectManager.cpp.

Benutzt deleteObject().

void ObjectManager::deleteObject objectList::iterator &  it  ) 
 

loescht ein Objekt aus der Objektliste

Parameter:
&it Iterator der auf zu loeschendes Objekt zeigt

Definiert in Zeile 215 der Datei ObjectManager.cpp.

Benutzt Configuration::clickedObject, ourConfiguration und Window::selectObject().

Wird benutzt von CollisionsManager::collide(), deleteObject() und Window::MenuConstructionCallback().

void ObjectManager::drawObjects  ) 
 

ruft draw() jedes einzelnen Objekts auf und zeichnet alte Positionen

Definiert in Zeile 161 der Datei ObjectManager.cpp.

Benutzt Configuration::drawOldPositions, Object::getDistanceModified(), oldPositions, oldPositionTimeSteps, ourConfiguration, Configuration::sphereDetaillevel, Vector::x, Vector::y und Vector::z.

Wird benutzt von Opengl::RenderObjects().

Object * ObjectManager::getFarthestAwayObject  ) 
 

Rückgabe:
Zeiger auf Objekt, das am weitesten vom Ursprung entfernt ist

Definiert in Zeile 79 der Datei ObjectManager.cpp.

Wird benutzt von Window::HandleSpecialKeyboard(), Window::MenuConstructionCallback() und Window::MenuOptionCallback().

int ObjectManager::getObjectCount  )  [inline]
 

Rückgabe:
Anzahl der Objekte

Definiert in Zeile 92 der Datei ObjectManager.h.

Wird benutzt von Opengl::HandleTimer(), Opengl::setAnimation() und Opengl::singleStep().

objectList* ObjectManager::getObjectList  )  [inline]
 

Rückgabe:
Zeiger auf die Objektliste

Definiert in Zeile 82 der Datei ObjectManager.h.

Benutzt objectList.

Wird benutzt von Window::loadObjectSelector(), Window::MenuMainCallback(), Window::selectObject() und PhysikEngine::simulateGravity().

int ObjectManager::getTypeCount  )  [static]
 

Rückgabe:
Anzahl der moeglichen Objekttypen

Definiert in Zeile 350 der Datei ObjectManager.cpp.

Benutzt ObjectCOUNT.

Wird benutzt von Window::CreateConstructWindow().

void ObjectManager::load istream &  FILE  ) 
 

laedt gespeichtete Objektliste

Parameter:
FILE Dateiname, in der die Objektliste gespeichert ist

Definiert in Zeile 280 der Datei ObjectManager.cpp.

Benutzt Configuration::clickedObject, createObject(), deleteAllObjects(), Object::load(), Message::msg() und ourConfiguration.

Wird benutzt von Configuration::loadWorld().

void ObjectManager::nextTimeStep  ) 
 

Falls eine Zeiteinheit verstrichen ist muss diese Methode aufgerufen werden, sie speichert die aktuellen Objekt Positionen in die Liste der alten Objekte.

Definiert in Zeile 127 der Datei ObjectManager.cpp.

Benutzt Configuration::drawOldPositionsTimeSteps, oldPositions, oldPositionTimeSteps und ourConfiguration.

Wird benutzt von Opengl::singleStep().

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

Wandelt int-Objekttypbezeichnung in string-Objekttypbezeichnung um

Parameter:
typenum int-Objekttypbezeichnung
Rückgabe:
string-Objekttypbezeichnung

Definiert in Zeile 372 der Datei ObjectManager.cpp.

Benutzt ObjectCOUNT und ObjectNames.

Wird benutzt von Window::MenuConstructionCallback().

void ObjectManager::save ostream &  FILE  ) 
 

speichere Objektliste in die Datei FILE

Parameter:
&FILE Dateiname

Definiert in Zeile 322 der Datei ObjectManager.cpp.

Benutzt Configuration::clickedObject und ourConfiguration.

Wird benutzt von Configuration::saveWorld().

int ObjectManager::TypeToInt const string &  objType  )  [static]
 

Wandelt string-Objekttypbezeichnung in int-Objekttypbezeichnung um

Parameter:
&objType string-Objekttypbezeichnung
Rückgabe:
int-Objekttypbezeichnung

Definiert in Zeile 359 der Datei ObjectManager.cpp.

Benutzt ObjectCOUNT und ObjectNames.

void ObjectManager::viewDetailInformationForAllObjects  ) 
 

Gibt alle Daten fuer alle Objekte in der Objektliste auf der Konsole auf.

Definiert in Zeile 337 der Datei ObjectManager.cpp.

Wird benutzt von Window::HandleKeyboard().


Dokumentation der Datenelemente

objectList ObjectManager::objects [private]
 

Liste in der Objekte gespeichert werden

Definiert in Zeile 32 der Datei ObjectManager.h.

list<OldPosition> ObjectManager::oldPositions [private]
 

Diese Liste ist der Zwischenspeicher der Alten Positionen der Objekte

Definiert in Zeile 62 der Datei ObjectManager.h.

Wird benutzt von deleteAllObjects(), drawObjects() und nextTimeStep().

int ObjectManager::oldPositionTimeSteps [private]
 

Anzahl der Schritte die bereits zwischengespeichert werden.

Definiert in Zeile 66 der Datei ObjectManager.h.

Wird benutzt von deleteAllObjects(), drawObjects(), nextTimeStep() und ObjectManager().


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