class PassiveOption : public Option

Diese Klasse ist Superklasse fuer alle passiven Wünsche

Inheritance:


Public Methods

virtual int cancellationCost()
Gibt die Abbruchkosten an
virtual bool forceContinuation()
Soll die Absicht unbedingt beibehalten werden? Manche Optionen koennen oder sollen nicht jederzeit abgebrochen werden
virtual bool isPossible()
Prueft, ob die Absicht tatsaechlich umsetzbar ist

Public

Mögliche Gründe die einen Abbruch des laufenden Planes
const int CANCEL_REASON_REFEREE_DECISION
const int CANCEL_REASON_NEW_BALL_INFO
const int CANCEL_REASON_CONT_TIME_EXPIRED
const int CANCEL_REASON_PLAN_COMPLETED
const int ALL_CANCEL_REASONS

Protected Fields

static const int NO_CONTINUATION
Konstante fuer setForceContinuationTime()

Protected Methods

virtual int baseUtility()
Der Grundnutzen des Wunsches
int cancelReasons()
Gibt die Gründe zurück die zum Abbruch der Option führen können
Vector closestNonOffsideTarget( const Vector& aTarget )
Liefert Ziel, das nicht im Abseits liegt
virtual int constraintCost( const Constraint *constraint )
Liefert die Kosten, die durch die Einhaltung einer Nebenbedingung entstehen
int forceContinuationTime()
Erfragt die Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann
bool isCancelReasonActive( int aReason )
Gibt YES zurück, wenn der angebene Abbruchsgrund als aktiv gilt
bool isDangerousPos( const Vector& aPos )
Testet die übergebene Position darauf, ob sie innnerhalb der goalieDangerousZone liegt
bool isDefenseSituation()
Checkt, ob eine zu verteidigende Situation ( Freisto\"s, Einwurf, Ecke des Gegners ) vorliegt
bool isPlanCompleted()
Erfragt, ob der Plan bereits abgearbeitet wurde
Plan isSomethingToSay()
Erzeugt einen Plan, der wenn es sinnvoll ist etwas zu sagen, eine say-Action enthält die die Daten des ganzen Weltmodels enthält
bool isTargetComputed()
Erfragt die Variable die aussagt, ob das Ziel schon berechnet wurde
Plan movementTo( const Vector& target, const double targetRadius = TRIANGULATION_ACCURACY, const double staminaLimit = 0, const int specialBehaviors = Skills::AVOID_OBSTACLES )
Erzeugt einen Plan, der den Agenten auf die gewünschte Position bringt
void noCancelByReasons( int reasons )
Entfernt Gründe, die zum Abbruch führen können
PassiveOption()
Protected Konstruktor macht die Klasse abstrakt
void setCancelReasons( int reasons = ALL_CANCEL_REASONS )
Setzt die Gründe, die wenn sie eintreffen, zum Abbruch der Option führen
void setForceContinuationTime( int timeSteps )
Setzt die Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann
void setIsPlanCompleted( bool isPlanCompleted = YES )
Setzt die Variable die ansagt, daß der Plan abgearbeitet wurde
void setIsTargetComputed( bool isTargetComputed )
Setzt die Variable die aussagt, ob das Ziel schon berechnet wurde
void setTarget( const Vector& aTarget )
Setzt das passive Ziel
const Vector& target()
Erfragt das passive Ziel
virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal

Private Fields

mutable int theCancelReasons
Eine Menge von Gründen, die mittels binärer Operationen gesetzt und abgefragt werden sollen
mutable int theForceContinuationTime
Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann
mutable bool theIsPlanCompleted
Variable die aussagt, ob der Plan bereits abgearbeitet wurde
mutable bool theIsTargetComputed
Variable die aussagt, ob das Ziel schon berechnet wurde
mutable Vector theTarget
Das passive Ziel

Inherited from Option:

Public Methods

virtual void adaptToPreviousIntention( const Option *previousIntention )
virtual StorableObject* copy()
virtual Plan generatePlan()
void setConstraints( const Array<Constraint *>& constraints )

Protected Fields

mutable Array <Constraint *> acceptedConstraints
Array <Constraint *> requestedConstraints

Protected Methods

int computeExpectedUtility()
bool isConstraintAccepted( int constraintId )
bool isOptionPossible()
void setIsOptionPossible( bool isOptionPossible )

Private Fields

mutable bool theIsOptionPossible

Inherited from Constraint:

Public Methods

int expectedUtility()
int id()

Protected Fields

mutable int simStepOfUtilityCalculation
mutable int theExpectedUtility
int theId

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

Diese Klasse ist Superklasse fuer alle passiven Wünsche.

Quelltext

[Header | [Implementierung]

CVS Informationen zum Interface

  **************************************************
  *
  * Aktueller Stand
  *
  *   $RCSfile: PassiveOption.h,v $
  *   $Revision: 1.15 $
  *   $Date: 1998/08/14 13:21:05 $
  *   $Author: myritz $ 
  *
  **************************************************
  
Mögliche Gründe die einen Abbruch des laufenden Planes
verursachen können.

const int CANCEL_REASON_REFEREE_DECISION

const int CANCEL_REASON_NEW_BALL_INFO

const int CANCEL_REASON_CONT_TIME_EXPIRED

const int CANCEL_REASON_PLAN_COMPLETED

const int ALL_CANCEL_REASONS

virtual int cancellationCost()
Gibt die Abbruchkosten an.
Returns:
NEUTRAL_COST

virtual bool isPossible()
Prueft, ob die Absicht tatsaechlich umsetzbar ist
Returns:
YES

virtual bool forceContinuation()
Soll die Absicht unbedingt beibehalten werden? Manche Optionen koennen oder sollen nicht jederzeit abgebrochen werden. Diese Methode wird vom Deliberator vor jedem Entscheidungsvorgang gefragt, ob die aktuelle Absicht weitergemacht werden soll. Falls die forceContinuationTime noch nicht erreicht wurde und die Daten des Weltmodells keinen aktuellen Ball enthalten wird die Absicht weiter verfolgt, also YES zurückgegeben, sonst NO.
Returns:
YES oder NO.

PassiveOption()
Protected Konstruktor macht die Klasse abstrakt. Erzeugt eine PassiveOption.

virtual int baseUtility()
Der Grundnutzen des Wunsches. Diese Funktion testet, ob die Grundvoraussetzungen für eine Entscheidung für einen passiven Wunsch vorliegen, d.h. die eigene Position ist ausreichend zuverlässig und der Ball ist entweder unzuverlässig, d.h. er wurde noch nie gesehen, oder ist außerhalb des KickRanges.
Returns:
NEUTRAL_UTILITY, wenn die Positionen nicht ausreichend genau sind; MIN_UTILITY, wenn der Ball innerhalb der KickRange ist; MAX_UTILITY, wenn sich eine passive Entscheidung anbietet.

virtual int constraintCost( const Constraint *constraint )
Liefert die Kosten, die durch die Einhaltung einer Nebenbedingung entstehen. Viele passive Optionen haben mit laufen zu tun, deshalb können hier schon die Kosten für einige Constraints in Abhängigkeit vom Zielpunkt ermittelt werden.
Returns:
Im allgemeinen Fall ein Wert zwischen NEUTRAL_COST und MAX_COST.
Parameters:
constraint - Zeiger auf die einzuhaltende Nebenbedingung

void setCancelReasons( int reasons = ALL_CANCEL_REASONS )
Setzt die Gründe, die wenn sie eintreffen, zum Abbruch der Option führen.
Parameters:
reasons - Eine Menge von Gründen, die mittels 'binären oder' verknünft werden sollen.

void noCancelByReasons( int reasons )
Entfernt Gründe, die zum Abbruch führen können
Parameters:
reasons - Eine Menge von Gründen, die mittels 'binären oder' verknünft werden sollen.

int cancelReasons()
Gibt die Gründe zurück die zum Abbruch der Option führen können
Returns:
Eine Menge von Gründen, die mittels 'binären und' abgefragt werden sollen.

bool isCancelReasonActive( int aReason )
Gibt YES zurück, wenn der angebene Abbruchsgrund als aktiv gilt

static const int NO_CONTINUATION
Konstante fuer setForceContinuationTime(). Wird angegeben, wenn die Option nicht an ihrer Fortsetzung interessiert ist.

void setForceContinuationTime( int timeSteps )
Setzt die Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann

int forceContinuationTime()
Erfragt die Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann

Vector closestNonOffsideTarget( const Vector& aTarget )
Liefert Ziel, das nicht im Abseits liegt
Returns:
Globale Position des Ziels

void setTarget( const Vector& aTarget )
Setzt das passive Ziel

const Vector& target()
Erfragt das passive Ziel

void setIsTargetComputed( bool isTargetComputed )
Setzt die Variable die aussagt, ob das Ziel schon berechnet wurde. Mit dieser Methode wird auch gleich die Ausführbarkeit der Option mitgesetzt (siehe setIsOptionPossible).

bool isTargetComputed()
Erfragt die Variable die aussagt, ob das Ziel schon berechnet wurde

void setIsPlanCompleted( bool isPlanCompleted = YES )
Setzt die Variable die ansagt, daß der Plan abgearbeitet wurde

bool isPlanCompleted()
Erfragt, ob der Plan bereits abgearbeitet wurde

Plan movementTo( const Vector& target, const double targetRadius = TRIANGULATION_ACCURACY, const double staminaLimit = 0, const int specialBehaviors = Skills::AVOID_OBSTACLES )
Erzeugt einen Plan, der den Agenten auf die gewünschte Position bringt. Wenn möglich, wird gebeamt, sonst muß wird gotoRegion gemacht. Dabei werden Hindernisse immer umgangen.
Parameters:
target - Absoluter Zielvektor
targetRadius - Zielradius für gotoRegion. Kann gebeamt werden, wird genau auf die gewünschte Position gebeamt.
staminaLimit - fuer gotoRegion.
See Also:
gotoRegion
beamToPosition

Plan isSomethingToSay()
Erzeugt einen Plan, der wenn es sinnvoll ist etwas zu sagen, eine say-Action enthält die die Daten des ganzen Weltmodels enthält

bool isDangerousPos( const Vector& aPos )
Testet die übergebene Position darauf, ob sie innnerhalb der goalieDangerousZone liegt

bool isDefenseSituation()
Checkt, ob eine zu verteidigende Situation ( Freisto\"s, Einwurf, Ecke des Gegners ) vorliegt

virtual String toString()
Beschreibung als String fuer die Ausgabe auf einem Terminal. Diese Methode gibt die Daten der Option aus, ohne den Optionnamen.

mutable int theCancelReasons
Eine Menge von Gründen, die mittels binärer Operationen gesetzt und abgefragt werden sollen

mutable int theForceContinuationTime
Zeit bis zu der die passive Option ohne Bedenken weiter verfolgt werden kann

mutable Vector theTarget
Das passive Ziel

mutable bool theIsTargetComputed
Variable die aussagt, ob das Ziel schon berechnet wurde

mutable bool theIsPlanCompleted
Variable die aussagt, ob der Plan bereits abgearbeitet wurde


Direct child classes:
InterceptBallOption
GoalieOption
GoToBaseOption
GetIntoSpaceOption
CollectDataOption

alphabetic index hierarchy of classes


Hauptseite

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

generated by doc++