Simple Mechanics Simulator (SiMS) API

This document is the API specification for SiMS

Class Summary
case class AABB (val minVertex : Vector2D, val maxVertex : Vector2D) extends scala.Product
Axis Aligned Bounding Boxes, kurz AABBs, sind Rechtecke die eine bestimmte Form umhuellen. Da AABBs nach den X- und Y-Achsen orientiert sind, ermoeglichen sie eine schnelle und einfache Feststellung ob zwei AABBs sich ueberschneiden.
case class CircleCollision (val c1 : Circle, val c2 : Circle) extends Collision with scala.Product
Kollision zwischen zwei Kreisen.
abstract class Collision extends Constraint with AnyRef
Kollisionen zwischen zwei Formen enthalten Methoden zur Berrechnen der Kollisionsreaktion.
abstract class Detector extends AnyRef
Eine Welt ermittelt ihre Kollisionen durch konkrete Implementierungen dieser Klasse.
class GridDetector (val override world : World) extends Detector
Eine konkrete Implementierung von Detector. GridDetector ermittelt alle Kollisionen mit einem Gittersystem.
case class Overlap (val poly : ConvexPolygon, val sideNum : Int, val overlap : Double) extends scala.Product
case class Pair (val s1 : Shape, val s2 : Shape) extends (Shape, Shape)
Formenpaar.
case class PolyCircleCollision (val p : ConvexPolygon, val c : Circle) extends Collision with scala.Product
Kollision zwischen einem konvexen Polygon und einem Kreis.
case class PolyCollision (val p1 : ConvexPolygon, val p2 : ConvexPolygon) extends Collision with scala.Product
Kollision zwischen zwei konvexen Polygonen.
Object Summary
object AABB extends (Vector2D, Vector2D) => AABB
object CircleCollision extends (Circle, Circle) => CircleCollision
object Collision extends AnyRef
object Overlap extends (ConvexPolygon, Int, Double) => Overlap
object Pair extends (Shape, Shape) => Pair
object PolyCircleCollision extends (ConvexPolygon, Circle) => PolyCircleCollision
object PolyCollision extends (ConvexPolygon, ConvexPolygon) => PolyCollision