sims.dynamics

class Shape

[source: sims/dynamics/Shape.scala]

abstract class Shape
extends AnyRef
Eine abstrakte Form.
Direct Known Subclasses:
GraphicalShape, Circle, Rectangle, RegularPolygon

Value Summary
abstract val I : Double
Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.
var body : Body
Beinhaltender Koerper. Sollte nicht selbst bei Initialisierung definiert werden.
var collidable : Boolean
Kollisionsfaehigkeit.
abstract val density : Double
Dichte. (Masse pro Flaeche)
var friction : Double
Teil des Reibungskoeffizienten bei einer Kollision zwischen dieser Form und einer anderen. Der Reibungskoeffizient wird aus dem Produkt der beiden Teile der Formen errechnet.
var pos : Vector2D
Position des Schwerpunktes in Welt.
var refLocalPos : Vector2D
Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.
var restitution : Double
Teil der Stosszahl bei einer Kollision zwischen dieser Form und einer anderen. Die Stosszahl wird aus dem Produkt der beiden Teile der Formen errechnet.
var rotation : Double
Rotation. Entspricht Laenge des Rotationsvektors.
var rotation0 : Double
Initiale Rotation. (Rotation ohne Koerper)
val transientShapes : scala.collection.mutable.Set[Shape]
Formen mit denen diese Form nicht Kollidiert.
val uid : Int
Einzigartige Identifikationsnummer.
abstract val volume : Double
Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.
Method Summary
abstract def AABB : AABB
Gibt das umfassende AABB dieser Form zurueck.
def ^ (b : Body) : Body
Erstellt einen Koerper aus dieser Form und den Formen des Koerpers b.
def ^ (s : Shape) : Body
Erstellt einen Koerper aus dieser Form und der Form s.
def asBody : Body
Baut einen Koerper aus dieser Form.
abstract def contains (point : Vector2D) : Boolean
Ermittelt ob der gebene Punkt point in dieser Form enthalten ist.
def mass : Double
Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte.
abstract def project (axis : Vector2D) : Projection
Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den Richtungsvektor axis.
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
val uid : Int
Einzigartige Identifikationsnummer.

var collidable : Boolean
Kollisionsfaehigkeit.

var restitution : Double
Teil der Stosszahl bei einer Kollision zwischen dieser Form und einer anderen. Die Stosszahl wird aus dem Produkt der beiden Teile der Formen errechnet.

var friction : Double
Teil des Reibungskoeffizienten bei einer Kollision zwischen dieser Form und einer anderen. Der Reibungskoeffizient wird aus dem Produkt der beiden Teile der Formen errechnet.

var pos : Vector2D
Position des Schwerpunktes in Welt.

var rotation : Double
Rotation. Entspricht Laenge des Rotationsvektors.

var rotation0 : Double
Initiale Rotation. (Rotation ohne Koerper)

var refLocalPos : Vector2D
Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.

abstract val density : Double
Dichte. (Masse pro Flaeche)

abstract val volume : Double
Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.

abstract val I : Double
Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.
Returns
Traegheitsmoment zum Schwerpunkt

var body : Body
Beinhaltender Koerper. Sollte nicht selbst bei Initialisierung definiert werden.

val transientShapes : scala.collection.mutable.Set[Shape]
Formen mit denen diese Form nicht Kollidiert.

Method Details
def mass : Double
Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte.
Returns
Masse der Form

abstract def AABB : AABB
Gibt das umfassende AABB dieser Form zurueck.
Returns
umfassendes AABB

abstract def project(axis : Vector2D) : Projection
Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den Richtungsvektor axis.
Parameters
axis - Richtungsvektor der Geraden
Returns
Projektion dieser Form

abstract def contains(point : Vector2D) : Boolean
Ermittelt ob der gebene Punkt point in dieser Form enthalten ist.

def asBody : Body
Baut einen Koerper aus dieser Form.
Returns
ein Koerper bestehend aus dieser Form.

def ^(s : Shape) : Body
Erstellt einen Koerper aus dieser Form und der Form s.

def ^(b : Body) : Body
Erstellt einen Koerper aus dieser Form und den Formen des Koerpers b.