sims.collision

class GridDetector

[source: sims/collision/GridDetector.scala]

class GridDetector(val override world : World)
extends Detector
Eine konkrete Implementierung von Detector. GridDetector ermittelt alle Kollisionen mit einem Gittersystem.
Value Summary
val collisionMethods : scala.collection.mutable.ArrayBuffer[scala.PartialFunction[(Shape, Shape), Collision]]
Array von Kollisionsmethoden fuer Formenpaare.
val detectionMethods : scala.collection.mutable.ArrayBuffer[scala.PartialFunction[(Shape, Shape), Boolean]]
Array von Kollisionserkennungsmethoden fuer Formenpaare.
var gridSide : Double
Breite und Hoehe einer Gitterzelle.
Method Summary
def colliding (p : Pair) : Boolean
Gibt an, ob das Formenpaar p kollidiert.
def collidingPairs : scala.Seq[Pair]
Ergibt alle kollidierenden Paare.
def collision (p : Pair) : Collision
Gibt die Kollision des Formenpaares p zurueck.
def collisions : scala.Seq[Collision]
Ergibt alle Kollisionen.
def getPairs : scala.Seq[Pair]
Ergibt potenzielle Kollisionspaare der Welt world.
def pairs : scala.Seq[Pair]
Alle potentiellen Kollisionspaare der Welt.
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 detectionMethods : scala.collection.mutable.ArrayBuffer[scala.PartialFunction[(Shape, Shape), Boolean]]
Array von Kollisionserkennungsmethoden fuer Formenpaare.

val collisionMethods : scala.collection.mutable.ArrayBuffer[scala.PartialFunction[(Shape, Shape), Collision]]
Array von Kollisionsmethoden fuer Formenpaare.

var gridSide : Double
Breite und Hoehe einer Gitterzelle.

Method Details
def colliding(p : Pair) : Boolean
Gibt an, ob das Formenpaar p kollidiert.
Parameters
p - Formenpaar.

def collision(p : Pair) : Collision
Gibt die Kollision des Formenpaares p zurueck.
Parameters
p - Formenpaar.

def getPairs : scala.Seq[Pair]
Ergibt potenzielle Kollisionspaare der Welt world.

Ein Kollisionspaar ist ein Paar aus zwei verschiedenen Formen, das folgenden Bedingungen unterliegt:

  • Die Formen muessen sich in der gleichen Gitterzelle befinden.
  • Ihre AABBs muessen sich ueberlappen.
  • Die Formen duerfen nicht von dem gleichen Koerper sein.
  • Mindestens eine Form darf nicht Fixiert sein.
  • Beide muessen {@link dynamics.Shape#collidable collidierbar} sein.

def pairs : scala.Seq[Pair]
Alle potentiellen Kollisionspaare der Welt.
See Also
getPairs

def collidingPairs : scala.Seq[Pair]
Ergibt alle kollidierenden Paare.

def collisions : scala.Seq[Collision]
Ergibt alle Kollisionen.
Overrides
Detector.collisions