public abstract class PhysikClient
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected Raum |
ziel
Das Raum-Objekt, das ueberwacht wird
|
Modifier | Constructor and Description |
---|---|
protected |
PhysikClient(Raum ziel)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
aufloesen()
Diese Methode wird immer dann aufgerufen, wenn ein Client nicht weiter benoetigt wird, und er
alle seine Funktionen beenden soll, um die von ihm belegten Ressourcen freizugeben.
|
abstract void |
beeinflussbarSetzen(boolean beeinflussbar)
Setzt, ob das Objekt ab sofort beeinflussbar sein soll.
|
abstract boolean |
bewegen(Vektor v)
Bewegt das ziel-Objekt innerhalb der kuenstlichen Physik.
|
abstract void |
einfluesseZuruecksetzen()
Setzt alle Einfluesse auf das Client-Objekt zurück.
|
abstract void |
fallReagierbarAnmelden(FallReagierbar f,
int tiefe)
In dieser Methode wird der
FallReagierbar -Listener angemeldet.Dieser wird ab sofort immer wieder informiert, solange das Ziel- Raum -Objekt unterhalb
der Toleranzgrenze liegt. |
abstract void |
geschwindigkeitHinzunehmen(Vektor geschwindigkeit)
Addiert eine Geschwindigkeit v' zur aktuellen Geschwindigkeit v.
|
abstract void |
geschwindigkeitSetzen(Vektor geschwindigkeit)
Setzt hart die Geschwindigkeit des Client-Objekts.
|
abstract Vektor |
getForce() |
abstract float |
getLuftwiderstandskoeffizient() |
abstract float |
getMasse() |
abstract void |
impulsHinzunehmen(Vektor impuls)
Berechnet einen neuen Impuls auf das Client-Objekt.
|
abstract boolean |
istBeeinflussbar() |
abstract void |
kraftAnwenden(Vektor kraft,
float t_kraftuebertrag)
Wendet eine Kraft für einen bestimmten Zeitraum auf das Client-Objekt an.
|
abstract void |
kraftSetzen(Vektor kraft)
Setzt hart die konstante Kraft, die auf das Client-Objekt wirkt.
|
abstract void |
kritischeTiefeSetzen(int tiefe)
Diese Methode setzt die kritische Tiefe eines Aktiv-Objektes.
|
abstract void |
luftwiderstandskoeffizientSetzen(float luftwiderstandskoeffizient)
Setzt den Luftwiderstandskoeffizienten für das Client-Objekt.
|
abstract void |
masseSetzen(float masse)
Setzt die Masse des Clien-Objekts neu.
|
abstract void |
schwerkraftAktivSetzen(boolean aktiv)
Setzt, ob das Ziel-Objekt von Schwerkraft beeinflusst wird.
Der Aufruf dieser Methode ist nur bei Gravitatoren sinnvoll. |
abstract void |
schwerkraftSetzen(int schwerkraft)
Setzt die Schwerkraft fuer dieses Objekt.
Achtung: Standardwert: 4 Groesserer Wert = langsamer Fallen Kleinerer Wert = schneller Fallen Negativer Wert : Moege Gott uns allen gnaedig sein... |
abstract boolean |
sprung(int kraft)
Laesst das anliegende Objekt einen Sprung vollfuehren, wenn es ein Aktiv-Objekt ist.
|
abstract void |
stehReagierbarAnmelden(StehReagierbar s)
In dieser Methode wird der
StehReagierbar -Listener angemeldet.Dieser wird ab sofort immer dann einmalig informiert, wenn das Ziel- Raum -Objekt nach
einem Sprung/Fall wieder auf einem Passiv-Objekt steht. |
abstract boolean |
steht()
Gibt an, ob das Ziel-
Raum -Objekt auf einem Passiv-Objekt steht oder nicht. |
Raum |
ziel()
Gibt das Ziel-Objekt aus.
|
protected final Raum ziel
protected PhysikClient(Raum ziel)
ziel
- Das zu ueberwachende Zielpublic abstract boolean bewegen(Vektor v)
v
- Der die Bewegung beschreibende Vektor.true
, wenn die Bewegung in vollem Masse moeglich war, sonst
false
.public abstract void aufloesen()
public abstract boolean sprung(int kraft)
kraft
- Die Sprungkraft.true
, wenn erfolgreich gesprungen wurde. In allen anderen Faellen
false
.public abstract void schwerkraftAktivSetzen(boolean aktiv)
PhysikClient
-Klassen wird
hierbei eine Fehlermeldung ausgegeben.aktiv
- Ist dieser Wert true
, so wird dieses Objekt von Schwerkraft beeinflusst. Ist
er false
, dann nicht.public abstract void kritischeTiefeSetzen(int tiefe)
FallReagierbar
-Inteface, das angemeldet wurde, ueber den
Fall informiert.tiefe
- Die Tiefe, ab der das anliegende FallReagierbar
-Interface informiert werden
soll.fallReagierbarAnmelden(FallReagierbar, int)
public abstract void fallReagierbarAnmelden(FallReagierbar f, int tiefe)
FallReagierbar
-Listener angemeldet.Raum
-Objekt unterhalb
der Toleranzgrenze liegt.f
- Das FallReagierbar
-Objekt, das ab sofort im Grenzfall informiert wird.tiefe
- Die kritische Tiefe, ab der das Interface informiert wird.kritischeTiefeSetzen(int)
public abstract void stehReagierbarAnmelden(StehReagierbar s)
StehReagierbar
-Listener angemeldet.Raum
-Objekt nach
einem Sprung/Fall wieder auf einem Passiv-Objekt steht.s
- Das StehReagierbar
-Objekt, das ab sofort immer einmalig informiert wird, wenn
das Ziel-Objekt zum Stehen kommt.public abstract boolean steht()
Raum
-Objekt auf einem Passiv-Objekt steht oder nicht.true
, wenn das Ziel-Raum
-Objekt auf einem Passiv-Objekt
steht, sonst false
.public Raum ziel()
public abstract void schwerkraftSetzen(int schwerkraft)
schwerkraft
- Der Wert fuer die Schwerkraft der Physik.Raum.aktivMachen()
public abstract void impulsHinzunehmen(Vektor impuls)
impuls
- der neue Impuls, der auf das Objekt wirken soll. (in [kg* (m / s)])public abstract void geschwindigkeitHinzunehmen(Vektor geschwindigkeit)
v_neu = v + v'
geschwindigkeit
- Die neue Geschwindigkeit v', die zur aktuellen Geschwindigkeit v hinzuaddiert werden
soll.(in [m / s])public abstract float getLuftwiderstandskoeffizient()
public abstract boolean istBeeinflussbar()
public abstract float getMasse()
public abstract Vektor getForce()
public abstract void luftwiderstandskoeffizientSetzen(float luftwiderstandskoeffizient)
luftwiderstandskoeffizient
- Der Luftwiderstandskoeffizient. Darf nicht kleiner als 0 sein!public abstract void beeinflussbarSetzen(boolean beeinflussbar)
beeinflussbar
- ist dieser Wert true
, ist das Objekt ab sofort beeinflussbar. Sonst ist es
nicht beeinflussbar.public abstract void masseSetzen(float masse)
masse
- die neue Masse des Client-Objekts.(in [kg])public abstract void kraftSetzen(Vektor kraft)
kraft
- Die neue Kraft, die auf das Client-Objekt wirken soll.(in [m / s^2] = [N])public abstract void geschwindigkeitSetzen(Vektor geschwindigkeit)
geschwindigkeit
- Die neue Geschwindigkeit für das Client-Objekt. (in [m / s])public abstract void einfluesseZuruecksetzen()
public abstract void kraftAnwenden(Vektor kraft, float t_kraftuebertrag)
kraft
- Die Kraft, die auf das Objekt anliegen soll. (in [kg* (m / s^2)] = [N])t_kraftuebertrag
- Die Dauer, für die die Kraft auf das Objekt wirkt. (in [s)])