summaryrefslogtreecommitdiff
path: root/src/sims/dynamics/joints/Joint.scala
blob: 9690af23807a9d6ab8a1f2d50d707b500a939407 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * Simple Mechanics Simulator (SiMS)
 * copyright (c) 2009 Jakob Odersky
 * made available under the MIT License
*/

package sims.dynamics.joints

import sims.geometry._
import sims.dynamics._

/**Joints sind Verbindungen die die Bewegung zwischen zwei Koerpern einschraenken.
 * Ihre Implementierung wurde von Erin Catto's box2d inspiriert.*/
abstract class Joint extends Constraint{
  
  /**Erster Koerper der Verbindung.*/
  val node1: Body
  
  /**Zweiter Koerper der Verbindung.*/
  val node2: Body
  
  /**Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.*/
  def correctVelocity(h: Double): Unit
  
  /**Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.*/
  def correctPosition(h: Double): Unit
}