summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-06-29 12:32:00 +0200
committerJakob Odersky <jodersky@gmail.com>2015-06-29 12:32:00 +0200
commit01c5c700647feba596e02cb7a2e672f5301504ff (patch)
treebb0b0e1c2efde6b5362a294089fe081db0724833
parent998e545e8e42fee597f7274e47428d35dcf29e7b (diff)
downloadsims-01c5c700647feba596e02cb7a2e672f5301504ff.tar.gz
sims-01c5c700647feba596e02cb7a2e672f5301504ff.tar.bz2
sims-01c5c700647feba596e02cb7a2e672f5301504ff.zip
Port to scala 2.11
-rw-r--r--build.sbt10
-rw-r--r--src/graphyx/actors/PhysicsActor.scala73
-rw-r--r--src/main/scala/graphyx/Graphyx.scala (renamed from src/graphyx/Graphyx.scala)17
-rw-r--r--src/main/scala/graphyx/actors/GUIActor.scala (renamed from src/graphyx/actors/GUIActor.scala)31
-rw-r--r--src/main/scala/graphyx/actors/PhysicsActor.scala88
-rw-r--r--src/main/scala/graphyx/graphics/Drawable.scala (renamed from src/graphyx/graphics/Drawable.scala)6
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalAABB.scala (renamed from src/graphyx/graphics/GraphicalAABB.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalBody.scala (renamed from src/graphyx/graphics/GraphicalBody.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalCircle.scala (renamed from src/graphyx/graphics/GraphicalCircle.scala)2
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalCollision.scala (renamed from src/graphyx/graphics/GraphicalCollision.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalDistanceJoint.scala (renamed from src/graphyx/graphics/GraphicalDistanceJoint.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalJoint.scala (renamed from src/graphyx/graphics/GraphicalJoint.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalObject.scala (renamed from src/graphyx/graphics/GraphicalObject.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalPair.scala (renamed from src/graphyx/graphics/GraphicalPair.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalRectangle.scala (renamed from src/graphyx/graphics/GraphicalRectangle.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalRegularPolygon.scala (renamed from src/graphyx/graphics/GraphicalRegularPolygon.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalRevoluteJoint.scala (renamed from src/graphyx/graphics/GraphicalRevoluteJoint.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalShape.scala (renamed from src/graphyx/graphics/GraphicalShape.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalSpringJoint.scala (renamed from src/graphyx/graphics/GraphicalSpringJoint.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/GraphicalWorld.scala (renamed from src/graphyx/graphics/GraphicalWorld.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/Parser.scala (renamed from src/graphyx/graphics/Parser.scala)0
-rw-r--r--src/main/scala/graphyx/graphics/Scene.scala (renamed from src/graphyx/graphics/Scene.scala)0
-rw-r--r--src/main/scala/graphyx/gui/AboutHelpFrame.scala (renamed from src/graphyx/gui/AboutHelpFrame.scala)4
-rw-r--r--src/main/scala/graphyx/gui/BodyPopup.scala (renamed from src/graphyx/gui/BodyPopup.scala)0
-rw-r--r--src/main/scala/graphyx/gui/Container.scala (renamed from src/graphyx/gui/Container.scala)0
-rw-r--r--src/main/scala/graphyx/gui/ControlPanel.scala (renamed from src/graphyx/gui/ControlPanel.scala)2
-rw-r--r--src/main/scala/graphyx/gui/GravityPanel.scala (renamed from src/graphyx/gui/GravityPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/InfoPanel.scala (renamed from src/graphyx/gui/InfoPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/MainFrame.scala (renamed from src/graphyx/gui/MainFrame.scala)0
-rw-r--r--src/main/scala/graphyx/gui/MainPanel.scala (renamed from src/graphyx/gui/MainPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/MenuHelp.scala (renamed from src/graphyx/gui/MenuHelp.scala)0
-rw-r--r--src/main/scala/graphyx/gui/MenuPanel.scala (renamed from src/graphyx/gui/MenuPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/OptionsPanel.scala (renamed from src/graphyx/gui/OptionsPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/PopupMenu.scala (renamed from src/graphyx/gui/PopupMenu.scala)0
-rw-r--r--src/main/scala/graphyx/gui/ShapeInfoPanel.scala (renamed from src/graphyx/gui/ShapeInfoPanel.scala)0
-rw-r--r--src/main/scala/graphyx/gui/WorldPanel.scala (renamed from src/graphyx/gui/WorldPanel.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Atom.scala (renamed from src/graphyx/tests/Atom.scala)0
-rw-r--r--src/main/scala/graphyx/tests/BallStack.scala (renamed from src/graphyx/tests/BallStack.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Cannon.scala (renamed from src/graphyx/tests/Cannon.scala)2
-rw-r--r--src/main/scala/graphyx/tests/Carriage.scala (renamed from src/graphyx/tests/Carriage.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Chain.scala (renamed from src/graphyx/tests/Chain.scala)0
-rw-r--r--src/main/scala/graphyx/tests/CompositeShape.scala (renamed from src/graphyx/tests/CompositeShape.scala)4
-rw-r--r--src/main/scala/graphyx/tests/Cup.scala (renamed from src/graphyx/tests/Cup.scala)2
-rw-r--r--src/main/scala/graphyx/tests/EmptyTest.scala (renamed from src/graphyx/tests/EmptyTest.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Friction.scala (renamed from src/graphyx/tests/Friction.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Friction2.scala (renamed from src/graphyx/tests/Friction2.scala)4
-rw-r--r--src/main/scala/graphyx/tests/General1.scala (renamed from src/graphyx/tests/General1.scala)2
-rw-r--r--src/main/scala/graphyx/tests/General2.scala (renamed from src/graphyx/tests/General2.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Joints1.scala (renamed from src/graphyx/tests/Joints1.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Joints2.scala (renamed from src/graphyx/tests/Joints2.scala)2
-rw-r--r--src/main/scala/graphyx/tests/Net.scala (renamed from src/graphyx/tests/Net.scala)0
-rw-r--r--src/main/scala/graphyx/tests/RagdollTest.scala (renamed from src/graphyx/tests/RagdollTest.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Restitution.scala (renamed from src/graphyx/tests/Restitution.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Spring.scala (renamed from src/graphyx/tests/Spring.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Stacking.scala (renamed from src/graphyx/tests/Stacking.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Test.scala (renamed from src/graphyx/tests/Test.scala)0
-rw-r--r--src/main/scala/graphyx/tests/Wave.scala (renamed from src/graphyx/tests/Wave.scala)0
-rw-r--r--src/main/scala/sims/collision/AABB.scala (renamed from src/sims/collision/AABB.scala)0
-rw-r--r--src/main/scala/sims/collision/CircleCollision.scala (renamed from src/sims/collision/CircleCollision.scala)0
-rw-r--r--src/main/scala/sims/collision/Collision.scala (renamed from src/sims/collision/Collision.scala)2
-rw-r--r--src/main/scala/sims/collision/Detector.scala (renamed from src/sims/collision/Detector.scala)0
-rw-r--r--src/main/scala/sims/collision/GridDetector.scala (renamed from src/sims/collision/GridDetector.scala)2
-rw-r--r--src/main/scala/sims/collision/Overlap.scala (renamed from src/sims/collision/Overlap.scala)0
-rw-r--r--src/main/scala/sims/collision/Pair.scala (renamed from src/sims/collision/Pair.scala)0
-rw-r--r--src/main/scala/sims/collision/PolyCircleCollision.scala (renamed from src/sims/collision/PolyCircleCollision.scala)0
-rw-r--r--src/main/scala/sims/collision/PolyCollision.scala (renamed from src/sims/collision/PolyCollision.scala)0
-rw-r--r--src/main/scala/sims/dynamics/Body.scala (renamed from src/sims/dynamics/Body.scala)0
-rw-r--r--src/main/scala/sims/dynamics/Circle.scala (renamed from src/sims/dynamics/Circle.scala)2
-rw-r--r--src/main/scala/sims/dynamics/Constraint.scala (renamed from src/sims/dynamics/Constraint.scala)0
-rw-r--r--src/main/scala/sims/dynamics/Rectangle.scala (renamed from src/sims/dynamics/Rectangle.scala)0
-rw-r--r--src/main/scala/sims/dynamics/RegularPolygon.scala (renamed from src/sims/dynamics/RegularPolygon.scala)2
-rw-r--r--src/main/scala/sims/dynamics/Shape.scala (renamed from src/sims/dynamics/Shape.scala)0
-rw-r--r--src/main/scala/sims/dynamics/World.scala (renamed from src/sims/dynamics/World.scala)0
-rw-r--r--src/main/scala/sims/dynamics/joints/DistanceJoint.scala (renamed from src/sims/dynamics/joints/DistanceJoint.scala)0
-rw-r--r--src/main/scala/sims/dynamics/joints/ForceJoint.scala (renamed from src/sims/dynamics/joints/ForceJoint.scala)0
-rw-r--r--src/main/scala/sims/dynamics/joints/Joint.scala (renamed from src/sims/dynamics/joints/Joint.scala)0
-rw-r--r--src/main/scala/sims/dynamics/joints/RevoluteJoint.scala (renamed from src/sims/dynamics/joints/RevoluteJoint.scala)2
-rw-r--r--src/main/scala/sims/dynamics/joints/SpringJoint.scala (renamed from src/sims/dynamics/joints/SpringJoint.scala)4
-rw-r--r--src/main/scala/sims/dynamics/joints/test/PrismaticJoint.scala (renamed from src/sims/dynamics/joints/test/PrismaticJoint.scala)0
-rw-r--r--src/main/scala/sims/dynamics/joints/test/UnitCircleJoint.scala (renamed from src/sims/dynamics/joints/test/UnitCircleJoint.scala)0
-rw-r--r--src/main/scala/sims/geometry/ConvexPolygon.scala (renamed from src/sims/geometry/ConvexPolygon.scala)4
-rw-r--r--src/main/scala/sims/geometry/Projection.scala (renamed from src/sims/geometry/Projection.scala)2
-rw-r--r--src/main/scala/sims/geometry/Ray.scala (renamed from src/sims/geometry/Ray.scala)2
-rw-r--r--src/main/scala/sims/geometry/Segment.scala (renamed from src/sims/geometry/Segment.scala)0
-rw-r--r--src/main/scala/sims/geometry/Vector2D.scala (renamed from src/sims/geometry/Vector2D.scala)4
-rw-r--r--src/main/scala/sims/materials/Material.scala (renamed from src/sims/materials/Material.scala)0
-rw-r--r--src/main/scala/sims/materials/Rubber.scala (renamed from src/sims/materials/Rubber.scala)0
-rw-r--r--src/main/scala/sims/materials/Steel.scala (renamed from src/sims/materials/Steel.scala)0
-rw-r--r--src/main/scala/sims/math/Matrix22.scala (renamed from src/sims/math/Matrix22.scala)0
-rw-r--r--src/main/scala/sims/prefabs/Net.scala (renamed from src/sims/prefabs/Net.scala)0
-rw-r--r--src/main/scala/sims/prefabs/Prefab.scala (renamed from src/sims/prefabs/Prefab.scala)0
-rw-r--r--src/main/scala/sims/prefabs/Pylon.scala (renamed from src/sims/prefabs/Pylon.scala)0
-rw-r--r--src/main/scala/sims/prefabs/Ragdoll.scala (renamed from src/sims/prefabs/Ragdoll.scala)0
-rw-r--r--src/main/scala/sims/util/Polar.scala (renamed from src/sims/util/Polar.scala)2
-rw-r--r--src/main/scala/sims/util/Positioning.scala (renamed from src/sims/util/Positioning.scala)0
-rw-r--r--src/main/scala/sims/util/RelativeVector.scala (renamed from src/sims/util/RelativeVector.scala)0
96 files changed, 152 insertions, 125 deletions
diff --git a/build.sbt b/build.sbt
new file mode 100644
index 0000000..24c097a
--- /dev/null
+++ b/build.sbt
@@ -0,0 +1,10 @@
+name := "sims"
+
+version := "1.1"
+
+scalaVersion := "2.11.7"
+
+libraryDependencies ++= Seq(
+ "org.scala-lang.modules" %% "scala-swing" % "2.0.0-M2",
+ "com.typesafe.akka" %% "akka-actor" % "2.3.11"
+)
diff --git a/src/graphyx/actors/PhysicsActor.scala b/src/graphyx/actors/PhysicsActor.scala
deleted file mode 100644
index 0bc7faf..0000000
--- a/src/graphyx/actors/PhysicsActor.scala
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Graphyx
- * copyright (c) 2009 Jakob Odersky
- * made available under the MIT License
-*/
-
-package graphyx.actors
-
-import graphyx._
-import graphyx.graphics._
-import sims.dynamics._
-import scala.actors._
-class PhysicsActor extends Actor{
- var world = new World
-
- var continue = true
- var simulate = false
-
- private var _fps = 0
- def fps = _fps
-
- def act{
- println("Physics actor started.")
- while (continue) {
-
- var t0 = System.nanoTime
-
- if (simulate) {
- world.step()
- }
-
- Graphyx.guiActor ! new Scene(world) {override val fps = _fps}
-
- receiveWithin(0) {
- case TIMEOUT => ()
-
- case Stop => {
- simulate = false
- println("Simulation stopped.")
- }
- case Start => {
- simulate = true
- println("Simulation started.")
- }
- case Exit => {
- continue = false
- }
- case sw @ SetWorld(w: World) => world = w
-
- case FireEvent => Graphyx.test.fireEvent()
-
- case other => println("Engine received unknown command: '" + other + "'")
- }
-
- val h = (System.nanoTime - t0) / 1000000
- val f = 60
- val T = (1.0/f) * 1000
- if (T-h > 0)
- Thread.sleep((T-h).toLong)
- _fps = (1.0/((System.nanoTime - t0) / 1000000000.0)).toInt
- //println((1.0/((System.nanoTime - t0) / 1000000000.0)).toInt)
- }
- println("Physics actor exited.")
- }
-}
-
-case object Start
-case object Stop
-case object Exit
-case class SetWorld(world: World)
-case object FireEvent
-
-
diff --git a/src/graphyx/Graphyx.scala b/src/main/scala/graphyx/Graphyx.scala
index 5720566..17341fb 100644
--- a/src/graphyx/Graphyx.scala
+++ b/src/main/scala/graphyx/Graphyx.scala
@@ -6,6 +6,7 @@
package graphyx
+import akka.actor._
import graphyx.actors._
import graphyx.graphics._
import graphyx.tests._
@@ -45,20 +46,16 @@ object Graphyx{
physicsActor ! SetWorld(t.world)
_test = t
}
-
- val physicsActor = new PhysicsActor
- val guiActor = new GUIActor
+
+ val system = ActorSystem()
+ val physicsActor = system.actorOf(PhysicsActor(), "physics")
+ val guiActor = system.actorOf(GUIActor(), "gui")
def main(args: Array[String]): Unit = {
- test.init()
- physicsActor.world = test.world
- guiActor.start()
- physicsActor.start()
+ test = tests(0)
}
def exit() = {
- guiActor.container.exitGUI
- guiActor ! Exit
- physicsActor ! Exit
+ system.shutdown()
}
}
diff --git a/src/graphyx/actors/GUIActor.scala b/src/main/scala/graphyx/actors/GUIActor.scala
index 0116551..cbfb1c2 100644
--- a/src/graphyx/actors/GUIActor.scala
+++ b/src/main/scala/graphyx/actors/GUIActor.scala
@@ -6,26 +6,31 @@
package graphyx.actors
+import akka.actor._
import graphyx.graphics._
-import scala.actors._
class GUIActor extends Actor{
val container = new graphyx.gui.Container
- var continue = true
-
- def act() = {
+ override def preStart() = {
container.show()
println("GUI actor started.")
- while (continue) {
- receive {
- case Exit => {
- continue = false
- }
- case s @ Scene(_) => container.update(s)
- case other => println("Engine received unknown command: " + other)
- }
- }
+ }
+
+ def receive = {
+ case s @ Scene(_) => container.update(s)
+ case other => println("Engine received unknown command: " + other)
+ }
+
+ override def postStop() = {
+ container.exitGUI()
println("GUI actor exited.")
}
+
+}
+
+object GUIActor {
+
+ def apply() = Props(classOf[GUIActor])
+
}
diff --git a/src/main/scala/graphyx/actors/PhysicsActor.scala b/src/main/scala/graphyx/actors/PhysicsActor.scala
new file mode 100644
index 0000000..7a7d2b9
--- /dev/null
+++ b/src/main/scala/graphyx/actors/PhysicsActor.scala
@@ -0,0 +1,88 @@
+/*
+ * Graphyx
+ * copyright (c) 2009 Jakob Odersky
+ * made available under the MIT License
+*/
+
+package graphyx.actors
+
+import akka.actor._
+import graphyx._
+import graphyx.graphics._
+import scala.concurrent.duration._
+import sims.dynamics._
+class PhysicsActor extends Actor{
+ import context._
+
+ var world = new World
+
+ var simulate = false
+
+ private var _fps = 0
+ def fps = _fps
+ var t0 = System.nanoTime
+
+ override def preStart() = {
+ println("Physics actor started.")
+ t0 = System.nanoTime
+ }
+
+ def receive = {
+ case Tick =>
+ t0 = System.nanoTime
+ if (simulate) {
+ world.step()
+ }
+ Graphyx.guiActor ! new Scene(world) {override val fps = _fps}
+ val h = (System.nanoTime - t0) / 1000000
+ val f = 60
+ val T = (1.0/f) * 1000
+ _fps = (1.0/((System.nanoTime - t0) / 1000000000.0)).toInt
+ //println((1.0/((System.nanoTime - t0) / 1000000000.0)).toInt)
+
+ val delay = if (T-h>0) (T-h).toLong else 0l
+
+ if (simulate) {
+ system.scheduler.scheduleOnce(delay.milliseconds, self, Tick)
+ }
+
+ case Step =>
+ world.step()
+ Graphyx.guiActor ! new Scene(world)
+
+ case Stop => {
+ simulate = false
+ println("Simulation stopped.")
+ }
+ case Start => {
+ simulate = true
+ self ! Tick
+ println("Simulation started.")
+ }
+
+ case sw @ SetWorld(w: World) => world = w
+
+ case FireEvent => Graphyx.test.fireEvent()
+
+ case other => println("Engine received unknown command: '" + other + "'")
+ }
+
+ override def postStop() = {
+ println("Physics actor exited.")
+ }
+}
+
+object PhysicsActor {
+
+ def apply() = Props(classOf[PhysicsActor])
+
+}
+
+case object Tick
+case object Start
+case object Stop
+case object Step
+case class SetWorld(world: World)
+case object FireEvent
+
+
diff --git a/src/graphyx/graphics/Drawable.scala b/src/main/scala/graphyx/graphics/Drawable.scala
index 07f3491..e1757f7 100644
--- a/src/graphyx/graphics/Drawable.scala
+++ b/src/main/scala/graphyx/graphics/Drawable.scala
@@ -104,8 +104,8 @@ trait Drawable {
def drawVector(v: Vector2D, p: Vector2D) = {
if (!v.isNull) {
val ep = p + v
- val a1 = ep - ((v.unit rotate (Math.Pi / 6)) * 0.08)
- val a2 = ep - ((v.unit rotate (-Math.Pi / 6)) * 0.08)
+ val a1 = ep - ((v.unit rotate (math.Pi / 6)) * 0.08)
+ val a2 = ep - ((v.unit rotate (-math.Pi / 6)) * 0.08)
g.drawLine((p.x * scale * ppm).toInt, correctY(p.y * scale * ppm).toInt, (ep.x * scale * ppm).toInt, correctY(ep.y * scale * ppm).toInt)
g.drawLine((a1.x * scale * ppm).toInt, correctY(a1.y * scale * ppm).toInt, (ep.x * scale * ppm).toInt, correctY(ep.y * scale * ppm).toInt)
@@ -115,4 +115,4 @@ trait Drawable {
/**Stellt das graphische Objekt dar.*/
def draw(): Unit
-} \ No newline at end of file
+}
diff --git a/src/graphyx/graphics/GraphicalAABB.scala b/src/main/scala/graphyx/graphics/GraphicalAABB.scala
index cb3694b..cb3694b 100644
--- a/src/graphyx/graphics/GraphicalAABB.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalAABB.scala
diff --git a/src/graphyx/graphics/GraphicalBody.scala b/src/main/scala/graphyx/graphics/GraphicalBody.scala
index c78ea51..c78ea51 100644
--- a/src/graphyx/graphics/GraphicalBody.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalBody.scala
diff --git a/src/graphyx/graphics/GraphicalCircle.scala b/src/main/scala/graphyx/graphics/GraphicalCircle.scala
index ffbd7a6..77b038c 100644
--- a/src/graphyx/graphics/GraphicalCircle.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalCircle.scala
@@ -11,7 +11,7 @@ import geometry._
import dynamics._
class GraphicalCircle(val real: Circle) extends Circle(real.radius, real.density) with GraphicalShape{
override def draw() = {
- //val b = Math.min(density / 100 * 255, 255)
+ //val b = math.min(density / 100 * 255, 255)
//g.setColor(new java.awt.Color(0,0,255, b.toInt))
g.setColor(java.awt.Color.blue)
fillCircle(pos, real.radius)
diff --git a/src/graphyx/graphics/GraphicalCollision.scala b/src/main/scala/graphyx/graphics/GraphicalCollision.scala
index 5589f8c..5589f8c 100644
--- a/src/graphyx/graphics/GraphicalCollision.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalCollision.scala
diff --git a/src/graphyx/graphics/GraphicalDistanceJoint.scala b/src/main/scala/graphyx/graphics/GraphicalDistanceJoint.scala
index 4a6e49d..4a6e49d 100644
--- a/src/graphyx/graphics/GraphicalDistanceJoint.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalDistanceJoint.scala
diff --git a/src/graphyx/graphics/GraphicalJoint.scala b/src/main/scala/graphyx/graphics/GraphicalJoint.scala
index 27d4f83..27d4f83 100644
--- a/src/graphyx/graphics/GraphicalJoint.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalJoint.scala
diff --git a/src/graphyx/graphics/GraphicalObject.scala b/src/main/scala/graphyx/graphics/GraphicalObject.scala
index 3c56de6..3c56de6 100644
--- a/src/graphyx/graphics/GraphicalObject.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalObject.scala
diff --git a/src/graphyx/graphics/GraphicalPair.scala b/src/main/scala/graphyx/graphics/GraphicalPair.scala
index 72e72ae..72e72ae 100644
--- a/src/graphyx/graphics/GraphicalPair.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalPair.scala
diff --git a/src/graphyx/graphics/GraphicalRectangle.scala b/src/main/scala/graphyx/graphics/GraphicalRectangle.scala
index 05dfa76..05dfa76 100644
--- a/src/graphyx/graphics/GraphicalRectangle.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalRectangle.scala
diff --git a/src/graphyx/graphics/GraphicalRegularPolygon.scala b/src/main/scala/graphyx/graphics/GraphicalRegularPolygon.scala
index fff8a9e..fff8a9e 100644
--- a/src/graphyx/graphics/GraphicalRegularPolygon.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalRegularPolygon.scala
diff --git a/src/graphyx/graphics/GraphicalRevoluteJoint.scala b/src/main/scala/graphyx/graphics/GraphicalRevoluteJoint.scala
index 940a862..940a862 100644
--- a/src/graphyx/graphics/GraphicalRevoluteJoint.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalRevoluteJoint.scala
diff --git a/src/graphyx/graphics/GraphicalShape.scala b/src/main/scala/graphyx/graphics/GraphicalShape.scala
index 256c041..256c041 100644
--- a/src/graphyx/graphics/GraphicalShape.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalShape.scala
diff --git a/src/graphyx/graphics/GraphicalSpringJoint.scala b/src/main/scala/graphyx/graphics/GraphicalSpringJoint.scala
index dbd9d5f..dbd9d5f 100644
--- a/src/graphyx/graphics/GraphicalSpringJoint.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalSpringJoint.scala
diff --git a/src/graphyx/graphics/GraphicalWorld.scala b/src/main/scala/graphyx/graphics/GraphicalWorld.scala
index abc9cbb..abc9cbb 100644
--- a/src/graphyx/graphics/GraphicalWorld.scala
+++ b/src/main/scala/graphyx/graphics/GraphicalWorld.scala
diff --git a/src/graphyx/graphics/Parser.scala b/src/main/scala/graphyx/graphics/Parser.scala
index 785d985..785d985 100644
--- a/src/graphyx/graphics/Parser.scala
+++ b/src/main/scala/graphyx/graphics/Parser.scala
diff --git a/src/graphyx/graphics/Scene.scala b/src/main/scala/graphyx/graphics/Scene.scala
index bb1fd9e..bb1fd9e 100644
--- a/src/graphyx/graphics/Scene.scala
+++ b/src/main/scala/graphyx/graphics/Scene.scala
diff --git a/src/graphyx/gui/AboutHelpFrame.scala b/src/main/scala/graphyx/gui/AboutHelpFrame.scala
index 52bfb73..0bb3c36 100644
--- a/src/graphyx/gui/AboutHelpFrame.scala
+++ b/src/main/scala/graphyx/gui/AboutHelpFrame.scala
@@ -13,9 +13,9 @@ class AboutHelpFrame extends Frame {
|copyright (c) 2009 Jakob Odersky
|SiMS and Graphyx are made available under the MIT License
|
- |http://sourceforge.net/projects/simplemechanics/
+ |https://github.com/jodersky/sims
|
- |Version 1.1""".stripMargin
+ |Version 1.2""".stripMargin
) {editable = false}
}
diff --git a/src/graphyx/gui/BodyPopup.scala b/src/main/scala/graphyx/gui/BodyPopup.scala
index 998a440..998a440 100644
--- a/src/graphyx/gui/BodyPopup.scala
+++ b/src/main/scala/graphyx/gui/BodyPopup.scala
diff --git a/src/graphyx/gui/Container.scala b/src/main/scala/graphyx/gui/Container.scala
index 80886f8..80886f8 100644
--- a/src/graphyx/gui/Container.scala
+++ b/src/main/scala/graphyx/gui/Container.scala
diff --git a/src/graphyx/gui/ControlPanel.scala b/src/main/scala/graphyx/gui/ControlPanel.scala
index 2cde7e6..43d7305 100644
--- a/src/graphyx/gui/ControlPanel.scala
+++ b/src/main/scala/graphyx/gui/ControlPanel.scala
@@ -27,7 +27,7 @@ class ControlPanel(container: Container) extends BoxPanel(Orientation.Horizontal
reactions += {
case ButtonClicked(`btnStart`) => Graphyx.physicsActor ! Start
case ButtonClicked(`btnStop`) => Graphyx.physicsActor ! Stop
- case ButtonClicked(`btnStep`) => Graphyx.physicsActor.world.step()
+ case ButtonClicked(`btnStep`) => Graphyx.physicsActor ! Step
case ButtonClicked(`btnExit`) => Graphyx.exit
case ButtonClicked(`btnFire`) => Graphyx.physicsActor ! FireEvent
case ButtonClicked(`btnReset`) => Graphyx.test = Graphyx.tests(cboTest.selection.index)
diff --git a/src/graphyx/gui/GravityPanel.scala b/src/main/scala/graphyx/gui/GravityPanel.scala
index bdf5245..bdf5245 100644
--- a/src/graphyx/gui/GravityPanel.scala
+++ b/src/main/scala/graphyx/gui/GravityPanel.scala
diff --git a/src/graphyx/gui/InfoPanel.scala b/src/main/scala/graphyx/gui/InfoPanel.scala
index d9dad43..d9dad43 100644
--- a/src/graphyx/gui/InfoPanel.scala
+++ b/src/main/scala/graphyx/gui/InfoPanel.scala
diff --git a/src/graphyx/gui/MainFrame.scala b/src/main/scala/graphyx/gui/MainFrame.scala
index 4fdc9a2..4fdc9a2 100644
--- a/src/graphyx/gui/MainFrame.scala
+++ b/src/main/scala/graphyx/gui/MainFrame.scala
diff --git a/src/graphyx/gui/MainPanel.scala b/src/main/scala/graphyx/gui/MainPanel.scala
index e4989e8..e4989e8 100644
--- a/src/graphyx/gui/MainPanel.scala
+++ b/src/main/scala/graphyx/gui/MainPanel.scala
diff --git a/src/graphyx/gui/MenuHelp.scala b/src/main/scala/graphyx/gui/MenuHelp.scala
index 1c73d51..1c73d51 100644
--- a/src/graphyx/gui/MenuHelp.scala
+++ b/src/main/scala/graphyx/gui/MenuHelp.scala
diff --git a/src/graphyx/gui/MenuPanel.scala b/src/main/scala/graphyx/gui/MenuPanel.scala
index d3196fe..d3196fe 100644
--- a/src/graphyx/gui/MenuPanel.scala
+++ b/src/main/scala/graphyx/gui/MenuPanel.scala
diff --git a/src/graphyx/gui/OptionsPanel.scala b/src/main/scala/graphyx/gui/OptionsPanel.scala
index 525f352..525f352 100644
--- a/src/graphyx/gui/OptionsPanel.scala
+++ b/src/main/scala/graphyx/gui/OptionsPanel.scala
diff --git a/src/graphyx/gui/PopupMenu.scala b/src/main/scala/graphyx/gui/PopupMenu.scala
index 9679018..9679018 100644
--- a/src/graphyx/gui/PopupMenu.scala
+++ b/src/main/scala/graphyx/gui/PopupMenu.scala
diff --git a/src/graphyx/gui/ShapeInfoPanel.scala b/src/main/scala/graphyx/gui/ShapeInfoPanel.scala
index d94c0bd..d94c0bd 100644
--- a/src/graphyx/gui/ShapeInfoPanel.scala
+++ b/src/main/scala/graphyx/gui/ShapeInfoPanel.scala
diff --git a/src/graphyx/gui/WorldPanel.scala b/src/main/scala/graphyx/gui/WorldPanel.scala
index ad14726..ad14726 100644
--- a/src/graphyx/gui/WorldPanel.scala
+++ b/src/main/scala/graphyx/gui/WorldPanel.scala
diff --git a/src/graphyx/tests/Atom.scala b/src/main/scala/graphyx/tests/Atom.scala
index 31d03fc..31d03fc 100644
--- a/src/graphyx/tests/Atom.scala
+++ b/src/main/scala/graphyx/tests/Atom.scala
diff --git a/src/graphyx/tests/BallStack.scala b/src/main/scala/graphyx/tests/BallStack.scala
index 8e45611..8e45611 100644
--- a/src/graphyx/tests/BallStack.scala
+++ b/src/main/scala/graphyx/tests/BallStack.scala
diff --git a/src/graphyx/tests/Cannon.scala b/src/main/scala/graphyx/tests/Cannon.scala
index 01ce4e5..6c59d3f 100644
--- a/src/graphyx/tests/Cannon.scala
+++ b/src/main/scala/graphyx/tests/Cannon.scala
@@ -16,7 +16,7 @@ object Cannon extends Test{
new Rectangle(0.1,0.1,1) {pos = Vector2D(0.3, 0.2); friction = 0.0}
)
hull.fixed = true
- hull.rotation -= Math.Pi / 2
+ hull.rotation -= math.Pi / 2
val ball = new Body(new Circle(0.1,100) {pos = Vector2D(0.3, 0.56)})
diff --git a/src/graphyx/tests/Carriage.scala b/src/main/scala/graphyx/tests/Carriage.scala
index 967c6e5..967c6e5 100644
--- a/src/graphyx/tests/Carriage.scala
+++ b/src/main/scala/graphyx/tests/Carriage.scala
diff --git a/src/graphyx/tests/Chain.scala b/src/main/scala/graphyx/tests/Chain.scala
index 27511ca..27511ca 100644
--- a/src/graphyx/tests/Chain.scala
+++ b/src/main/scala/graphyx/tests/Chain.scala
diff --git a/src/graphyx/tests/CompositeShape.scala b/src/main/scala/graphyx/tests/CompositeShape.scala
index 51ffd0b..184bab9 100644
--- a/src/graphyx/tests/CompositeShape.scala
+++ b/src/main/scala/graphyx/tests/CompositeShape.scala
@@ -26,11 +26,11 @@ object CompositeShape extends Test{
val o1 = new Circle(0.05,1)
val o2 = new Circle(0.05,1) {rotation = 0.3}
position(o1) {0.25 above h}
- o2.pos = (new Polar(0.25, Math.Pi / 3)) from h
+ o2.pos = (new Polar(0.25, math.Pi / 3)) from h
new Body(h, o1, o2) {pos = Vector2D(0, 0.5)}
}
world += h2o
}
}
- \ No newline at end of file
+
diff --git a/src/graphyx/tests/Cup.scala b/src/main/scala/graphyx/tests/Cup.scala
index 598a9be..ad791f0 100644
--- a/src/graphyx/tests/Cup.scala
+++ b/src/main/scala/graphyx/tests/Cup.scala
@@ -17,7 +17,7 @@ object Cup extends Test {
ground.fixed = true
world += ground
- val cupShapes = for (i <- 0 to (10 * Math.Pi).toInt) yield new Circle(0.1,1) {pos = Vector2D(Math.cos(-i / 10.0), Math.sin(-i / 10.0)); restitution = 0.0; friction = 1.0}
+ val cupShapes = for (i <- 0 to (10 * math.Pi).toInt) yield new Circle(0.1,1) {pos = Vector2D(math.cos(-i / 10.0), math.sin(-i / 10.0)); restitution = 0.0; friction = 1.0}
val cup = new Body(cupShapes: _*) {fixed = true; pos = Vector2D(0, 1)}
world += cup
diff --git a/src/graphyx/tests/EmptyTest.scala b/src/main/scala/graphyx/tests/EmptyTest.scala
index 0e3bd84..0e3bd84 100644
--- a/src/graphyx/tests/EmptyTest.scala
+++ b/src/main/scala/graphyx/tests/EmptyTest.scala
diff --git a/src/graphyx/tests/Friction.scala b/src/main/scala/graphyx/tests/Friction.scala
index ba9fb69..ba9fb69 100644
--- a/src/graphyx/tests/Friction.scala
+++ b/src/main/scala/graphyx/tests/Friction.scala
diff --git a/src/graphyx/tests/Friction2.scala b/src/main/scala/graphyx/tests/Friction2.scala
index 9d03bd9..5204fcf 100644
--- a/src/graphyx/tests/Friction2.scala
+++ b/src/main/scala/graphyx/tests/Friction2.scala
@@ -23,11 +23,11 @@ object Friction2 extends Test{
val ground = new Body(shapes: _*)
ground.pos = Vector2D(0,0)
ground.fixed = true
- ground.rotation = -Math.Pi / 5
+ ground.rotation = -math.Pi / 5
world += ground
val b: Body = (new Circle(0.1,10)) ~ (new Circle(0.1,10) {pos = Vector2D(0.2,0)}) ~ (new Circle(0.1,10) {pos = Vector2D(0.4,0)})
b.pos = Vector2D(0.1,0.1)
world += b
}
-} \ No newline at end of file
+}
diff --git a/src/graphyx/tests/General1.scala b/src/main/scala/graphyx/tests/General1.scala
index 71e041b..4ab401f 100644
--- a/src/graphyx/tests/General1.scala
+++ b/src/main/scala/graphyx/tests/General1.scala
@@ -54,7 +54,7 @@ object General1 extends Test{
new Rectangle(0.1,0.1,1) {pos = Vector2D(0.3, 0.1)}
)
hull.fixed = true
- hull.rotation -= Math.Pi / 4
+ hull.rotation -= scala.math.Pi / 4
val ball = new Body(
new Circle(0.1,20) {pos = Vector2D(0.3, 0.3)}
diff --git a/src/graphyx/tests/General2.scala b/src/main/scala/graphyx/tests/General2.scala
index 2006080..2006080 100644
--- a/src/graphyx/tests/General2.scala
+++ b/src/main/scala/graphyx/tests/General2.scala
diff --git a/src/graphyx/tests/Joints1.scala b/src/main/scala/graphyx/tests/Joints1.scala
index ad143ec..ad143ec 100644
--- a/src/graphyx/tests/Joints1.scala
+++ b/src/main/scala/graphyx/tests/Joints1.scala
diff --git a/src/graphyx/tests/Joints2.scala b/src/main/scala/graphyx/tests/Joints2.scala
index 9ff5df3..c190bc9 100644
--- a/src/graphyx/tests/Joints2.scala
+++ b/src/main/scala/graphyx/tests/Joints2.scala
@@ -20,7 +20,7 @@ object Joints2 extends Test{
val distance = 0.2
val anchors = for (i <- (0 until length).toList) yield new Body(new Circle(0.03,1) {pos = Vector2D(i * distance,5)}) {fixed = true}
val balls = for (i <- (0 until length).toList) yield new Body(new Circle(0.1,1) {pos = Vector2D(i * distance,0); restitution = 1})
- balls(0).pos = Vector2D(0, 5) + Polar(5, -Math.Pi / 1.5).toCarthesian
+ balls(0).pos = Vector2D(0, 5) + Polar(5, -math.Pi / 1.5).toCarthesian
val joints = for (i <- (0 until length).toList) yield new DistanceJoint(anchors(i), balls(i))
for (a <- anchors) world += a
for (b <- balls) world += b
diff --git a/src/graphyx/tests/Net.scala b/src/main/scala/graphyx/tests/Net.scala
index c340a80..c340a80 100644
--- a/src/graphyx/tests/Net.scala
+++ b/src/main/scala/graphyx/tests/Net.scala
diff --git a/src/graphyx/tests/RagdollTest.scala b/src/main/scala/graphyx/tests/RagdollTest.scala
index 63c9ce5..63c9ce5 100644
--- a/src/graphyx/tests/RagdollTest.scala
+++ b/src/main/scala/graphyx/tests/RagdollTest.scala
diff --git a/src/graphyx/tests/Restitution.scala b/src/main/scala/graphyx/tests/Restitution.scala
index 9501a36..9501a36 100644
--- a/src/graphyx/tests/Restitution.scala
+++ b/src/main/scala/graphyx/tests/Restitution.scala
diff --git a/src/graphyx/tests/Spring.scala b/src/main/scala/graphyx/tests/Spring.scala
index e7fecb8..e7fecb8 100644
--- a/src/graphyx/tests/Spring.scala
+++ b/src/main/scala/graphyx/tests/Spring.scala
diff --git a/src/graphyx/tests/Stacking.scala b/src/main/scala/graphyx/tests/Stacking.scala
index 63734b6..63734b6 100644
--- a/src/graphyx/tests/Stacking.scala
+++ b/src/main/scala/graphyx/tests/Stacking.scala
diff --git a/src/graphyx/tests/Test.scala b/src/main/scala/graphyx/tests/Test.scala
index ca0f8e8..ca0f8e8 100644
--- a/src/graphyx/tests/Test.scala
+++ b/src/main/scala/graphyx/tests/Test.scala
diff --git a/src/graphyx/tests/Wave.scala b/src/main/scala/graphyx/tests/Wave.scala
index d3359c1..d3359c1 100644
--- a/src/graphyx/tests/Wave.scala
+++ b/src/main/scala/graphyx/tests/Wave.scala
diff --git a/src/sims/collision/AABB.scala b/src/main/scala/sims/collision/AABB.scala
index f3a0b71..f3a0b71 100644
--- a/src/sims/collision/AABB.scala
+++ b/src/main/scala/sims/collision/AABB.scala
diff --git a/src/sims/collision/CircleCollision.scala b/src/main/scala/sims/collision/CircleCollision.scala
index 04cf2d7..04cf2d7 100644
--- a/src/sims/collision/CircleCollision.scala
+++ b/src/main/scala/sims/collision/CircleCollision.scala
diff --git a/src/sims/collision/Collision.scala b/src/main/scala/sims/collision/Collision.scala
index 540081a..65111c6 100644
--- a/src/sims/collision/Collision.scala
+++ b/src/main/scala/sims/collision/Collision.scala
@@ -71,7 +71,7 @@ abstract class Collision extends Constraint {
val m = if (invMass == 0.0) 0.0 else 1/invMass
val lambda = -m * Cdot
val cf = shape1.friction * shape2.friction
- val cl = Math.min(Math.max(-normalForce * cf * h, lambda), normalForce * cf * h)
+ val cl = math.min(math.max(-normalForce * cf * h, lambda), normalForce * cf * h)
val impulse = tangent * cl
b1.applyImpulse(-impulse, point)
b2.applyImpulse(impulse, point)
diff --git a/src/sims/collision/Detector.scala b/src/main/scala/sims/collision/Detector.scala
index 96af5dc..96af5dc 100644
--- a/src/sims/collision/Detector.scala
+++ b/src/main/scala/sims/collision/Detector.scala
diff --git a/src/sims/collision/GridDetector.scala b/src/main/scala/sims/collision/GridDetector.scala
index 9a71c6d..2196195 100644
--- a/src/sims/collision/GridDetector.scala
+++ b/src/main/scala/sims/collision/GridDetector.scala
@@ -104,7 +104,7 @@ class GridDetector(override val world: World) extends Detector {
if (s1.collidable && s2.collidable);
if (s1.AABB overlaps s2.AABB);
if (!s1.transientShapes.contains(s2) && !s2.transientShapes.contains(s1))) yield Pair(s1, s2)
- ).removeDuplicates
+ ).distinct
}
ps.toSeq
}
diff --git a/src/sims/collision/Overlap.scala b/src/main/scala/sims/collision/Overlap.scala
index 97ecdd6..97ecdd6 100644
--- a/src/sims/collision/Overlap.scala
+++ b/src/main/scala/sims/collision/Overlap.scala
diff --git a/src/sims/collision/Pair.scala b/src/main/scala/sims/collision/Pair.scala
index a01fb00..a01fb00 100644
--- a/src/sims/collision/Pair.scala
+++ b/src/main/scala/sims/collision/Pair.scala
diff --git a/src/sims/collision/PolyCircleCollision.scala b/src/main/scala/sims/collision/PolyCircleCollision.scala
index 20f1d49..20f1d49 100644
--- a/src/sims/collision/PolyCircleCollision.scala
+++ b/src/main/scala/sims/collision/PolyCircleCollision.scala
diff --git a/src/sims/collision/PolyCollision.scala b/src/main/scala/sims/collision/PolyCollision.scala
index 5296f41..5296f41 100644
--- a/src/sims/collision/PolyCollision.scala
+++ b/src/main/scala/sims/collision/PolyCollision.scala
diff --git a/src/sims/dynamics/Body.scala b/src/main/scala/sims/dynamics/Body.scala
index 8c0e2ee..8c0e2ee 100644
--- a/src/sims/dynamics/Body.scala
+++ b/src/main/scala/sims/dynamics/Body.scala
diff --git a/src/sims/dynamics/Circle.scala b/src/main/scala/sims/dynamics/Circle.scala
index b1d3703..d6db07d 100644
--- a/src/sims/dynamics/Circle.scala
+++ b/src/main/scala/sims/dynamics/Circle.scala
@@ -16,7 +16,7 @@ import sims.collision._
*/
case class Circle(radius: Double, density: Double) extends Shape{
- val volume = Math.Pi * radius * radius
+ val volume = math.Pi * radius * radius
val I = mass * radius * radius / 2
diff --git a/src/sims/dynamics/Constraint.scala b/src/main/scala/sims/dynamics/Constraint.scala
index eaa6952..eaa6952 100644
--- a/src/sims/dynamics/Constraint.scala
+++ b/src/main/scala/sims/dynamics/Constraint.scala
diff --git a/src/sims/dynamics/Rectangle.scala b/src/main/scala/sims/dynamics/Rectangle.scala
index 89ab4c0..89ab4c0 100644
--- a/src/sims/dynamics/Rectangle.scala
+++ b/src/main/scala/sims/dynamics/Rectangle.scala
diff --git a/src/sims/dynamics/RegularPolygon.scala b/src/main/scala/sims/dynamics/RegularPolygon.scala
index b49d100..6f08ca1 100644
--- a/src/sims/dynamics/RegularPolygon.scala
+++ b/src/main/scala/sims/dynamics/RegularPolygon.scala
@@ -6,7 +6,7 @@
package sims.dynamics
-import Math._
+import math._
import sims.geometry._
/**A regular polygon with <code>n</code> sides whose excircle has a radius <code>radius</code>.
diff --git a/src/sims/dynamics/Shape.scala b/src/main/scala/sims/dynamics/Shape.scala
index 47a4199..47a4199 100644
--- a/src/sims/dynamics/Shape.scala
+++ b/src/main/scala/sims/dynamics/Shape.scala
diff --git a/src/sims/dynamics/World.scala b/src/main/scala/sims/dynamics/World.scala
index f24a3fd..f24a3fd 100644
--- a/src/sims/dynamics/World.scala
+++ b/src/main/scala/sims/dynamics/World.scala
diff --git a/src/sims/dynamics/joints/DistanceJoint.scala b/src/main/scala/sims/dynamics/joints/DistanceJoint.scala
index 1bf9b46..1bf9b46 100644
--- a/src/sims/dynamics/joints/DistanceJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/DistanceJoint.scala
diff --git a/src/sims/dynamics/joints/ForceJoint.scala b/src/main/scala/sims/dynamics/joints/ForceJoint.scala
index 2074ee4..2074ee4 100644
--- a/src/sims/dynamics/joints/ForceJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/ForceJoint.scala
diff --git a/src/sims/dynamics/joints/Joint.scala b/src/main/scala/sims/dynamics/joints/Joint.scala
index 652df97..652df97 100644
--- a/src/sims/dynamics/joints/Joint.scala
+++ b/src/main/scala/sims/dynamics/joints/Joint.scala
diff --git a/src/sims/dynamics/joints/RevoluteJoint.scala b/src/main/scala/sims/dynamics/joints/RevoluteJoint.scala
index 66a4c06..bf6f05e 100644
--- a/src/sims/dynamics/joints/RevoluteJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/RevoluteJoint.scala
@@ -9,7 +9,7 @@ package sims.dynamics.joints
import sims.geometry._
import sims.math._
import sims.dynamics._
-import Math._
+import math._
/**A revolute joint that connects two bodies at a singe point. Inspired from JBox2D.
* <b>Warning:</b> there are still several bugs with revolute joints, if they are between two free
diff --git a/src/sims/dynamics/joints/SpringJoint.scala b/src/main/scala/sims/dynamics/joints/SpringJoint.scala
index 4d44864..10d5afb 100644
--- a/src/sims/dynamics/joints/SpringJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/SpringJoint.scala
@@ -71,7 +71,7 @@ case class SpringJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vec
val Cdot = x.unit dot v
val invMass = 1/node1.mass + 1/node1.I * cr1 * cr1 + 1/node2.mass + 1/node2.I * cr2 * cr2 //=J M^-1 JT
val m = if (invMass == 0.0) 0.0 else 1/invMass
- val lambda = Math.min(Math.max(-this.force * h, (-m * Cdot)), this.force * h)
+ val lambda = math.min(math.max(-this.force * h, (-m * Cdot)), this.force * h)
println (force * h, -m * Cdot)
val impulse = x.unit * lambda
node1.applyImpulse(-impulse, connection1)
@@ -82,4 +82,4 @@ case class SpringJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vec
def correctPosition(h: Double) = {
}
-} \ No newline at end of file
+}
diff --git a/src/sims/dynamics/joints/test/PrismaticJoint.scala b/src/main/scala/sims/dynamics/joints/test/PrismaticJoint.scala
index 040647d..040647d 100644
--- a/src/sims/dynamics/joints/test/PrismaticJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/test/PrismaticJoint.scala
diff --git a/src/sims/dynamics/joints/test/UnitCircleJoint.scala b/src/main/scala/sims/dynamics/joints/test/UnitCircleJoint.scala
index 09e72d9..09e72d9 100644
--- a/src/sims/dynamics/joints/test/UnitCircleJoint.scala
+++ b/src/main/scala/sims/dynamics/joints/test/UnitCircleJoint.scala
diff --git a/src/sims/geometry/ConvexPolygon.scala b/src/main/scala/sims/geometry/ConvexPolygon.scala
index 0b05aaa..bfd17a1 100644
--- a/src/sims/geometry/ConvexPolygon.scala
+++ b/src/main/scala/sims/geometry/ConvexPolygon.scala
@@ -27,8 +27,8 @@ trait ConvexPolygon {
val points = for (v <- vertices) yield {v project axis}
val bounds = for (p <- points) yield {if (axis.x != 0) p.x / axis.x else p.y / axis.y}
Projection(axis,
- (bounds(0) /: bounds)(Math.min(_,_)),
- (bounds(0) /: bounds)(Math.max(_,_)))
+ (bounds(0) /: bounds)(math.min(_,_)),
+ (bounds(0) /: bounds)(math.max(_,_)))
}
/**Returns this polygon's axis aligned bounding box.
diff --git a/src/sims/geometry/Projection.scala b/src/main/scala/sims/geometry/Projection.scala
index 0c340f0..9957c73 100644
--- a/src/sims/geometry/Projection.scala
+++ b/src/main/scala/sims/geometry/Projection.scala
@@ -30,6 +30,6 @@ case class Projection(axis: Vector2D,
* @throws IllegalArgumentExcepion if both projections axes aren't the same*/
def overlap(other: Projection): Double = {
require(axis == other.axis, "Cannot compare two projections on different axes!")
- (Math.max(lower, other.lower) - Math.min(upper, other.upper)).abs
+ (math.max(lower, other.lower) - math.min(upper, other.upper)).abs
}
}
diff --git a/src/sims/geometry/Ray.scala b/src/main/scala/sims/geometry/Ray.scala
index feb18a9..1cca8d5 100644
--- a/src/sims/geometry/Ray.scala
+++ b/src/main/scala/sims/geometry/Ray.scala
@@ -7,7 +7,7 @@
package sims.geometry
import sims.math._
-import Math._
+import scala.math._
/**A ray.
* @param point a point on the ray
diff --git a/src/sims/geometry/Segment.scala b/src/main/scala/sims/geometry/Segment.scala
index 4aaec21..4aaec21 100644
--- a/src/sims/geometry/Segment.scala
+++ b/src/main/scala/sims/geometry/Segment.scala
diff --git a/src/sims/geometry/Vector2D.scala b/src/main/scala/sims/geometry/Vector2D.scala
index 4468a90..8d5205f 100644
--- a/src/sims/geometry/Vector2D.scala
+++ b/src/main/scala/sims/geometry/Vector2D.scala
@@ -6,7 +6,7 @@
package sims.geometry
-import scala.Math._
+import scala.math._
/**A 2D vector.
* @param x 1st component
@@ -35,7 +35,7 @@ case class Vector2D(x: Double, y: Double) {
def cross(v: Vector2D): Double = x * v.y - y * v.x
/**Norm or length of this vector.*/
- val length: Double = Math.sqrt(x * x + y * y)
+ val length: Double = math.sqrt(x * x + y * y)
/**Unit vector.*/
def unit: Vector2D = if (!(x == 0.0 && y == 0.0)) Vector2D(x / length, y / length)
diff --git a/src/sims/materials/Material.scala b/src/main/scala/sims/materials/Material.scala
index b05e082..b05e082 100644
--- a/src/sims/materials/Material.scala
+++ b/src/main/scala/sims/materials/Material.scala
diff --git a/src/sims/materials/Rubber.scala b/src/main/scala/sims/materials/Rubber.scala
index b408d2d..b408d2d 100644
--- a/src/sims/materials/Rubber.scala
+++ b/src/main/scala/sims/materials/Rubber.scala
diff --git a/src/sims/materials/Steel.scala b/src/main/scala/sims/materials/Steel.scala
index 1d14563..1d14563 100644
--- a/src/sims/materials/Steel.scala
+++ b/src/main/scala/sims/materials/Steel.scala
diff --git a/src/sims/math/Matrix22.scala b/src/main/scala/sims/math/Matrix22.scala
index 54d24c7..54d24c7 100644
--- a/src/sims/math/Matrix22.scala
+++ b/src/main/scala/sims/math/Matrix22.scala
diff --git a/src/sims/prefabs/Net.scala b/src/main/scala/sims/prefabs/Net.scala
index d3f4d57..d3f4d57 100644
--- a/src/sims/prefabs/Net.scala
+++ b/src/main/scala/sims/prefabs/Net.scala
diff --git a/src/sims/prefabs/Prefab.scala b/src/main/scala/sims/prefabs/Prefab.scala
index 84bb3b7..84bb3b7 100644
--- a/src/sims/prefabs/Prefab.scala
+++ b/src/main/scala/sims/prefabs/Prefab.scala
diff --git a/src/sims/prefabs/Pylon.scala b/src/main/scala/sims/prefabs/Pylon.scala
index 7f3211f..7f3211f 100644
--- a/src/sims/prefabs/Pylon.scala
+++ b/src/main/scala/sims/prefabs/Pylon.scala
diff --git a/src/sims/prefabs/Ragdoll.scala b/src/main/scala/sims/prefabs/Ragdoll.scala
index 00e4b8d..00e4b8d 100644
--- a/src/sims/prefabs/Ragdoll.scala
+++ b/src/main/scala/sims/prefabs/Ragdoll.scala
diff --git a/src/sims/util/Polar.scala b/src/main/scala/sims/util/Polar.scala
index c4009b5..494c984 100644
--- a/src/sims/util/Polar.scala
+++ b/src/main/scala/sims/util/Polar.scala
@@ -7,7 +7,7 @@
package sims.util
import sims.geometry._
-import scala.Math._
+import scala.math._
/**Polar coordinates.*/
case class Polar(distance: Double, angle: Double) {
diff --git a/src/sims/util/Positioning.scala b/src/main/scala/sims/util/Positioning.scala
index cf72276..cf72276 100644
--- a/src/sims/util/Positioning.scala
+++ b/src/main/scala/sims/util/Positioning.scala
diff --git a/src/sims/util/RelativeVector.scala b/src/main/scala/sims/util/RelativeVector.scala
index 374f92c..374f92c 100644
--- a/src/sims/util/RelativeVector.scala
+++ b/src/main/scala/sims/util/RelativeVector.scala