sims.dynamics

class World

[source: sims/dynamics/World.scala]

class World
extends AnyRef
Eine Welt enthaelt und Simuliert ein System aus Koerpern und Verbindungen.
Value Summary
val bodies : scala.collection.mutable.ArrayBuffer[Body]
Alle Koerper die diese Welt simuliert.
val detector : Detector
Kollisionsdetektor dieser Welt.
var enableCollisionDetection : Boolean
Kollisionerkennung.
var enablePositionCorrection : Boolean
Positionskorrekturen.
var gravity : Vector2D
Schwerkraft die in dieser Welt herrscht.
var iterations : Int
Anzahl der Constraint-Korrekturen pro Zeitschritt.
val joints : scala.collection.mutable.ArrayBuffer[Joint]
Alle Verbindungen die diese Welt simuliert.
var minAngularVelocity : Double
Die minimale, nicht als null geltende Winkelgeschwindigkeit.
var minLinearVelocity : Double
Die minimale, nicht als null geltende Geschwindigkeit.
val monitors : scala.collection.mutable.ArrayBuffer[(java.lang.String, (Body) => java.lang.String)]
Ueberwachungsfunktionen fuer Koerper.
var overCWarning : Boolean
Warnung wenn Koerper schneller als Lichtgeschwindigkeit.
var time : Double
Aktuelle Zeit in Sekunden dieser Welt. Nach jedem Zeitschritt wird die Zeit erhoeht.
var timeStep : Double
Zeitschritt in dem diese Welt die Simulation vorranschreiten laesst.
Method Summary
def ++= (bs : scala.Seq[Body]) : Unit
def += (joint : Joint) : Unit
Fuegt dieser Welt eine Verbindung hinzu.
def += (body : Body) : Unit
Fuegt dieser Welt einen Koerper hinzu.
def += (p : Prefab) : Unit
Fuegt dieser Welt ein vorangefertigtes System vaus Koerpern und Verbindungen hinzu.
def --= (bs : scala.Seq[Body]) : Unit
def -= (joint : Joint) : Unit
Entfernt die gegebene Verbindung aus dieser Welt.
def -= (p : Prefab) : Unit
Entfernt das gegebene System aus Koerpern und Verbindungen aus dieser Welt.
def -= (body : Body) : Unit
Entfernt den gegebenen Koerper aus dieser Welt.
def clear : Unit
Entfernt alle Koerper, Verbindungen und Ueberwachungsfunktionen dieser Welt.
def info : java.lang.String
Ergibt Informationen ueber diese Welt.
def postStep : Unit
Wird nach jedem Zeitschritt ausgefuehrt.
def shapes : scala.Seq[Shape]
Ergibt alle Formen aus allen Koerpern in dieser Welt.
def step : Unit
Simuliert einen von timeStep angegebenen Zeitschritt. Ihre Aufgabe ist es die Koerper dieser Welt so zu simulieren wie diese sich in einer Welt mit den gegebenen Bedingungen verhalten wuerden.
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Value Details
var timeStep : Double
Zeitschritt in dem diese Welt die Simulation vorranschreiten laesst.

var iterations : Int
Anzahl der Constraint-Korrekturen pro Zeitschritt.

var gravity : Vector2D
Schwerkraft die in dieser Welt herrscht.

val bodies : scala.collection.mutable.ArrayBuffer[Body]
Alle Koerper die diese Welt simuliert.

val joints : scala.collection.mutable.ArrayBuffer[Joint]
Alle Verbindungen die diese Welt simuliert.

val monitors : scala.collection.mutable.ArrayBuffer[(java.lang.String, (Body) => java.lang.String)]
Ueberwachungsfunktionen fuer Koerper.

Das erste Element des Tuples ist die Ueberschrift und das zweite Element, der Wert.


val detector : Detector
Kollisionsdetektor dieser Welt.

var overCWarning : Boolean
Warnung wenn Koerper schneller als Lichtgeschwindigkeit.

var enableCollisionDetection : Boolean
Kollisionerkennung.

var enablePositionCorrection : Boolean
Positionskorrekturen.

var minLinearVelocity : Double
Die minimale, nicht als null geltende Geschwindigkeit.

var minAngularVelocity : Double
Die minimale, nicht als null geltende Winkelgeschwindigkeit.

var time : Double
Aktuelle Zeit in Sekunden dieser Welt. Nach jedem Zeitschritt wird die Zeit erhoeht.

Method Details
def shapes : scala.Seq[Shape]
Ergibt alle Formen aus allen Koerpern in dieser Welt.

def +=(body : Body) : Unit
Fuegt dieser Welt einen Koerper hinzu.

def +=(joint : Joint) : Unit
Fuegt dieser Welt eine Verbindung hinzu.

def +=(p : Prefab) : Unit
Fuegt dieser Welt ein vorangefertigtes System vaus Koerpern und Verbindungen hinzu.

def ++=(bs : scala.Seq[Body]) : Unit

def -=(body : Body) : Unit
Entfernt den gegebenen Koerper aus dieser Welt.

def -=(joint : Joint) : Unit
Entfernt die gegebene Verbindung aus dieser Welt.

def -=(p : Prefab) : Unit
Entfernt das gegebene System aus Koerpern und Verbindungen aus dieser Welt.

def --=(bs : scala.Seq[Body]) : Unit

def clear : Unit
Entfernt alle Koerper, Verbindungen und Ueberwachungsfunktionen dieser Welt.

def step : Unit
Simuliert einen von timeStep angegebenen Zeitschritt. Ihre Aufgabe ist es die Koerper dieser Welt so zu simulieren wie diese sich in einer Welt mit den gegebenen Bedingungen verhalten wuerden.

Der Zeitschritt wird in folgenden Phasen ausgefuehrt:

  1. Kraefte wirken auf die Koerper (z.B Schwerkraft, andere Kraftfaehige Objekte).
  2. Beschleunigungen werden integriert.
  3. Geschwindigkeiten werden korrigiert.
  4. Geschwindigkeiten werden integriert.
  5. Positionen werden korrigiert.
  6. Die Methode postStep() wird ausgefuehrt.

def postStep : Unit
Wird nach jedem Zeitschritt ausgefuehrt.

def info : java.lang.String
Ergibt Informationen ueber diese Welt.