aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/sims/dynamics/Circle.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/sims/dynamics/Circle.scala')
-rw-r--r--src/main/scala/sims/dynamics/Circle.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/scala/sims/dynamics/Circle.scala b/src/main/scala/sims/dynamics/Circle.scala
new file mode 100644
index 0000000..9e00815
--- /dev/null
+++ b/src/main/scala/sims/dynamics/Circle.scala
@@ -0,0 +1,24 @@
+/* _____ _ __ ________ ___ *\
+** / ___/(_) |/ / ___/ |__ \ Simple Mechanics Simulator 2 **
+** \__ \/ / /|_/ /\__ \ __/ / copyright (c) 2011 Jakob Odersky **
+** ___/ / / / / /___/ / / __/ **
+** /____/_/_/ /_//____/ /____/ **
+\* */
+
+package sims.dynamics
+
+import scala.math.Pi
+import sims.collision.{AABB, Projection}
+import sims.math._
+
+/** A circle.
+ * @define shape circle
+ *
+ * @param radius radius of this circle */
+case class Circle(radius: Double) extends sims.collision.Circle with Shape {
+
+ val area: Double = Pi * radius * radius
+
+ lazy val inertia: Double = mass * radius * radius / 2
+
+} \ No newline at end of file