class Action : public StorableObject

Elementare Handlung

Inheritance:


Public

Abfrage und Setzen von Daten
int id()
Liefert die Id der Aktion
int simStep()
Liefert den simStep der Aktion
int actionCount()
Liefert die Anzahl der bereits vorher abgesendeten Aktionen dieses Typs
double firstParameter()
Liefert den ersten Parameter
double secondParameter()
Liefert den zweiten Parameter
int viewWidth()
Liefert die Sichtbreite
bool isValid()
Ueberprueft, ob alle für eine Aktion des Typs id() notwendigen Parameter vorhanden und in einem gueltigen Bereich sind
bool isMainAction()
Liefert zurueck, ob die Aktion eine Hauptaktion ist
void setSimStep( const int newSimStep )
Setzt den Simulationsschritt, zu dem die Aktion ausgef"uhrt wird
void setActionCount( const int aActionCount )
Setzt die Anzahl, der bereits vor dieser Aktion abgesendeten Aktionen
Fehlerklassen
class ActionException: public Exception
Allgemeine Actionfehler-Klasse
Objekt erzeugen und zerstören
Action()
Default-Konstruktor
Action( int actionId, int simStep, double firstParameter = UNDEF_DOUBLE, double secondParameter = UNDEF_DOUBLE )
Konstruktor fuer die Aktionen dash, turn, kick move, catch, senseBody und emptyAction
Action( int actionId, int simStep, int viewWidth, int viewQuality )
Konstruktor fuer die Aktion changeView
Action( int actionId, int simStep, const String& message )
Konstrukter fuer die Aktion say
virtual StorableObject* copy()
Legt eine Kopie des Objekts auf dem Heap an und liefert einen Zeiger darauf zurueck
~Action()
Der Destruktor
Umwandlungen in Zeichenketten
String asCommandString()
Liefert einen String, der, an den SoccerServer gesandt, die Aktion ausloest
virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal

Private Fields

int theActionCount
Anzahl der bereits vorher abgesendeten Aktionen dieses Typs
int theActionId
Die Id der Aktion
double theFirstParameter
Der erste Parameter der Aktion
String theMessage
Die Nachricht bei einer say Aktion
double theSecondParameter
Der zweite Parameter der Aktion
int theSimStep
Der simStep, fuer den die Aktion gemeint ist
int theViewQuality
Die gewuenschte Sichtqualitaet fuer die change_view Aktion
int theViewWidth
Der gewuenschte Sichtwinkel fuer die change_view Aktion

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

Elementare Handlung. Entspricht einem Kommando, das an den SoccerServer geschickt werden kann. Zur selben Zeit koennen mehrere Aktionen ausgefuehrt werden. Jede Aktion hat auch einen simStep, für den sie berechnet wurde. Stimmt der aktuelle simStep beim Abschicken mit dem SimStep der Aktion nicht überein, so liegt ein Synchronisationsfehler vor.

Aktionen beliebigen Typs von dieser Klasse gehandhabt werden. Dadurch gibt es mehrere Konstruktoren. Einige Instanzvariablen sind immer undefiniert (die fuer die Aktion, die gerade gespeichert ist, nicht benötigt werden).

Quelltext

[Header | [Implementierung]

CVS Informationen zum Interface

  **************************************************
  *
  * Aktueller Stand
  *
  *   $RCSfile: Action.h,v $
  *   $Revision: 1.23 $
  *   $Date: 1998/08/14 13:19:52 $
  *   $Author: myritz $ 
  *
  **************************************************
  
Fehlerklassen

class ActionException: public Exception
Allgemeine Actionfehler-Klasse

Objekt erzeugen und zerstören

Action()
Default-Konstruktor. Erzeugt eine UNDEF_ACTION.

Action( int actionId, int simStep, double firstParameter = UNDEF_DOUBLE, double secondParameter = UNDEF_DOUBLE )
Konstruktor fuer die Aktionen dash, turn, kick move, catch, senseBody und emptyAction. Die Parameter haben folgende Bedeutung:
dash
firstParameter: Kraft, secondParameter: -
kick
firstParameter: Kraft, secondParameter: Kickrichtung
turn
firstParameter: Drehwinkel, secondParameter: -
catch
firstParameter: Hechtrichtung, secondParameter: -
move
firstParameter: x-Koordinate, secondParameter: y-Koordinate
senseBody
firstParameter: -, secondParameter: -
emptyAction
firstParameter: -, secondParameter: -

Parameters:
actionId - Die Id der Aktion. Ohne Parameter wird eine UNDEF_ACTION angelegt.
simStep - der simStep, fuer den die Aktion berechnet ist.
firstParameter - Der erste Parameter der Aktion. Falls die Aktion keinen ersten Parameter dieses Typs benoetigt, ist der Wert undefiniert. Fuer die Aktionen dash, turn, kick, move und catch ist dieser Parameter noetig.
secondParameter - Der zweite Parameter der Aktion. Falls diese Aktion keinen zweiten Parameter dieses Typs benoetigt, ist der Wert undefiniert. Fuer die Aktionen kick, und move ist dieser Parameter noetig.
See Also:
Aktionen

Action( int actionId, int simStep, int viewWidth, int viewQuality )
Konstruktor fuer die Aktion changeView
Parameters:
actionId - Die Id der Aktion. Der Wert muß CHANGE_VIEW_ACTION sein.
simStep - der simStep, fuer den die Aktion berechnet ist.
viewWidth - Der gewuenschte Sichtwinkel der Aktion. Dieser kann folgende Werte annehmen: VIEW_WIDTH_NARROW, VIEW_WIDTH_NORMAL, VIEW_WIDTH_WIDE.
viewQuality - Die gewuenschte Sichtqualitaet der Aktion. Diese kann folgende Werte annehmen: VIEW_QUALITY_LOW, VIEW_QUALITY_HIGH.
See Also:
Aktionen

Action( int actionId, int simStep, const String& message )
Konstrukter fuer die Aktion say
Parameters:
actionId - Die Id der Aktion. Diese muß SAY_ACTION sein.
simStep - der simStep, fuer den die Aktion berechnet ist.
message - Die Nachricht der say Aktion. Diese kann ein beliebiger String nach den SoccerServer Konventionen sein.

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

~Action()
Der Destruktor

Abfrage und Setzen von Daten

int id()
Liefert die Id der Aktion
See Also:
Aktionen

int simStep()
Liefert den simStep der Aktion

int actionCount()
Liefert die Anzahl der bereits vorher abgesendeten Aktionen dieses Typs
Returns:
UNDEF_INT wenn die Anzahl nicht bekannt ist sonst die Anzahl

double firstParameter()
Liefert den ersten Parameter. Hat die Aktion keinen Parameter, so wird UNDEF_DOUBLE geliefert.

double secondParameter()
Liefert den zweiten Parameter. Hat die Aktion keine zwei Parameter, so wird UNDEF_DOUBLE geliefert.

int viewWidth()
Liefert die Sichtbreite. Wenn es sich nicht um eine CHANGE_VIEW_ACTION handelt, wird UNDEF_INT geliefert.

bool isValid()
Ueberprueft, ob alle für eine Aktion des Typs id() notwendigen Parameter vorhanden und in einem gueltigen Bereich sind

bool isMainAction()
Liefert zurueck, ob die Aktion eine Hauptaktion ist. Pro Takt wird vom Server nur eine Hauptaktion ausgefuehrt. Hauptaktionen sind da

void setSimStep( const int newSimStep )
Setzt den Simulationsschritt, zu dem die Aktion ausgef"uhrt wird. Das nachträgliche Umsetzen ist notwendig, damit bei der Registrierung im Weltmodell bekannt ist, zu welchem Zeitpunkt die Aktion wirklich gesendet wurde. Das ist nicht notwendigerweise der Zeitpunkt, für den die Aktion gedacht war.
Parameters:
newSimStep - der neue Simulationsschritt der Aktion

void setActionCount( const int aActionCount )
Setzt die Anzahl, der bereits vor dieser Aktion abgesendeten Aktionen
Parameters:
vorher - abgesendete Aktionen dieses Typs

Umwandlungen in Zeichenketten

String asCommandString()
Liefert einen String, der, an den SoccerServer gesandt, die Aktion ausloest. Dabei werden vorher evtl. notwendige Koordinatentransformationen durchgefuehrt.

virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal

int theActionId
Die Id der Aktion

int theSimStep
Der simStep, fuer den die Aktion gemeint ist

int theActionCount
Anzahl der bereits vorher abgesendeten Aktionen dieses Typs

double theFirstParameter
Der erste Parameter der Aktion. Falls diese Aktion keinen ersten Parameter dieses Typs benoetigt, ist der Wert undefiniert. Fuer die Aktionen dash, turn, kick, move und catch ist dieser Parameter noetig.

double theSecondParameter
Der zweite Parameter der Aktion. Falls diese Aktion keinen zweiten Parameter dieses Typs benoetigt, ist der Wert undefiniert. Fuer die Aktionen kick, und move ist dieser Parameter noetig.

int theViewWidth
Der gewuenschte Sichtwinkel fuer die change_view Aktion. Dieser kann folgende Werte annehmen: VIEW_WIDTH_NARROW, VIEW_WIDTH_NORMAL, VIEW_WIDTH_WIDE.

int theViewQuality
Die gewuenschte Sichtqualitaet fuer die change_view Aktion. Diese kann folgende Werte annehmen: VIEW_QUALITY_LOW, VIEW_QUALITY_HIGH.

String theMessage
Die Nachricht bei einer say Aktion. Diese kann einen beliebigen String nach den SoccerServer Konventionen enthalten.


This class has no child classes.

alphabetic index hierarchy of classes


Hauptseite

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

generated by doc++