class StableObject : public StorableObject

Die Objekt-Repraesentation eines in der Aussenwelt vorkommenden Objektes

Inheritance:


Public

Erzeugen und Zerstören
StableObject()
Default-Konstruktor
StableObject( int anId, const Vector& aVector )
Initialisierung mit einem Vektor
virtual StorableObject* copy()
Legt eine Kopie des Objekts auf dem Heap an und liefert einen Zeiger darauf zurueck
virtual ~StableObject()
Virtueller Destruktor
Werte abfragen
const Vector& pos()
Liefert die Position des Objekts
int id()
Liefert die Id des Objekts
bool isValid()
Test auf Gueltigkeit der Id
bool isComplete()
Prueft, ob das Objekt komplett definiert ist
bool isUndef()
Prueft, ob das StableObject Informationen enthaelt
virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal
Werte setzen
void setPos(const Vector& newPos)
Setzt die Position
void setId(int)
Setzt die ObjectId

Private Fields

int theId
Die Id des Objekts
Vector thePos
Die Position

Inherited from StorableObject:

Public

Ausgabe auf dem Terminal

void printOn(ostream& = cout)
Ausgabe der Beschreibung auf einen Stream
virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal

Objekte anlegen und zerstören

virtual StorableObject* copy()
Legt eine Kopie des Objekts auf dem Heap an und liefert einen Zeiger darauf zurück
virtual ~StorableObject()
Der virtuelle Destruktor

Documentation

Die Objekt-Repraesentation eines in der Aussenwelt vorkommenden Objektes. Solche Objekte sind Flaggen, Linien, Tore, Spieler und der Ball.

Ein StableObject hat eine Position (ein 2D-Vektor) und eine Id, in der kodiert ist, um welchen Typ von Objekt es sich handelt, und welches der Objekte dieses Typs das StableObject repraesentiert.

StableObject ist gleichzeitig die Basisklasse fuer weitere spezialisierte Repraesentationsklassen wie MovingObject oder MovingPlayer.

StableObjects kommen vor allem in der Wahrnehmung vor. Sensors erzeugt sie. Das Weltmodell erstellt aus ihnen eine neue Situation.

Die in einem StableObject aufgenommenen Daten sind immer im mathematischen Koordinatensystem. Das Weltmodell muss sie also bei der Berechnung der absoluten Koordinaten nicht mehr umwandeln.

Ob die Daten als relativ zum Agenten und seiner Blickrichtung oder als absolut (d.h. relativ zur Spielfeldmitte bei zum Gegner zeigender positiver x-Achse) interpretiert werden, ist nicht festgelegt. Sensors setzt die Daten relativ zum Agenten, WorldModel setzt die Daten in Subklassen (ModelledObject und davon abgeleitet ModelledPlayer und ModelledBall von StableObject absolut.

Quelltext

[Header | [Implementierung]

CVS Informationen zum Interface

  **************************************************
  *
  * Aktueller Stand
  *
  *   $RCSfile: StableObject.h,v $
  *   $Revision: 1.19 $
  *   $Date: 1998/08/14 13:21:19 $
  *   $Author: myritz $ 
  *
  **************************************************
  
Erzeugen und Zerstören

StableObject()
Default-Konstruktor. Id ist UNDEF_ID und die Position ist der undefinierte Vektor.

StableObject( int anId, const Vector& aVector )
Initialisierung mit einem Vektor.
Parameters:
anId - die Id des Objektes. Moegliche Werte sind in Objekt-Ids aufgelistet.
aVector - die Position des Objektes. Das Koordinatensystem hängt vom Verwendungszweck ab.

virtual StorableObject* copy()
Legt eine Kopie des Objekts auf dem Heap an und liefert einen Zeiger darauf zurueck

virtual ~StableObject()
Virtueller Destruktor

Werte setzen

void setPos(const Vector& newPos)
Setzt die Position

void setId(int)
Setzt die ObjectId

Werte abfragen

const Vector& pos()
Liefert die Position des Objekts. Das Koordinatensystem haengt von der Verwendung ab.

int id()
Liefert die Id des Objekts

bool isValid()
Test auf Gueltigkeit der Id

bool isComplete()
Prueft, ob das Objekt komplett definiert ist..
Returns:
YES falls die Id verschieden von UNDEF_ID ist und die Position complete ist, sonst NO

bool isUndef()
Prueft, ob das StableObject Informationen enthaelt.
Returns:
YES, falls die Id gleich UNDEF_ID ist, sonst NO

virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal. Es werden ID und Position ausgegeben.

int theId
Die Id des Objekts. Das ist KEINE Id im Sinne objektorientierter Programmierung. Hier stehen vielmehr Zahlen, die fuer bestimmte Objekte in der Aussenwelt stehen.

Vector thePos
Die Position. Hier koennen nur relative Koordinaten enthalten sein. Winkel sind immer im Bogenmass, das Koordinatensystem ist das mathematische.


Direct child classes:
MovingObject

alphabetic index hierarchy of classes


Hauptseite

Einleitung | Architektur | Dynamische Zusammenhänge | Referenzhandbuch | FAQ | Anhang A | Anhang B

generated by doc++