blob: 84fe05c3e673cac88abac168f0136f1e2bc83860 (
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
28
29
30
31
32
33
34
35
|
package graphyx.tests
import sims.dynamics._
import sims.dynamics.joints._
import sims.geometry._
object Atom extends Test{
val title = "Atom"
val world = new World
var nucleus = new Body(Circle(0.05, 1000)) {fixed = true}
var electrons: List[Body] = Nil
var connections: List[SpringJoint] = Nil
def init = {
world -= nucleus
nucleus = new Body(Circle(0.05, 10)) {fixed = true}
world += nucleus
world --= electrons
electrons = Nil
for (c <- connections) world -= c
connections = Nil
}
override def fireEvent = {
val e = (new Circle(0.1, 10) {pos = Vector2D(0, -1)}).asBody
e.linearVelocity = Vector2D(-50,100)
electrons = e :: electrons
world += e
val c = new SpringJoint(nucleus, e, 500)
connections = c :: connections
world += c
}
}
|