diff options
92 files changed, 2708 insertions, 1075 deletions
diff --git a/doc/all-classes.html b/doc/all-classes.html index a5b98a0..c31b553 100644 --- a/doc/all-classes.html +++ b/doc/all-classes.html @@ -55,6 +55,7 @@ <li><a href="sims/collision/PolyCollision.html" target="contentFrame">PolyCollision</a></li> <li><a href="graphyx/gui/PopupMenu.html" target="contentFrame">PopupMenu</a></li> <li><a href="sims/prefabs/Prefab.html" target="contentFrame">Prefab</a></li> +<li><a href="sims/dynamics/joints/test/PrismaticJoint.html" target="contentFrame">PrismaticJoint</a></li> <li><a href="sims/geometry/Projection.html" target="contentFrame">Projection</a></li> <li><a href="sims/prefabs/Pylon.html" target="contentFrame">Pylon</a></li> <li id="Classes_R"><a href="sims/prefabs/Ragdoll.html" target="contentFrame">Ragdoll</a></li> @@ -70,6 +71,7 @@ <li><a href="graphyx/gui/ShapeInfoPanel.html" target="contentFrame">ShapeInfoPanel</a></li> <li><a href="sims/dynamics/joints/SpringJoint.html" target="contentFrame">SpringJoint</a></li> <li id="Classes_T"><a href="graphyx/tests/Test.html" target="contentFrame">Test</a></li> +<li id="Classes_U"><a href="sims/dynamics/joints/test/UnitCircleJoint.html" target="contentFrame">UnitCircleJoint</a></li> <li id="Classes_V"><a href="sims/geometry/Vector2D.html" target="contentFrame">Vector2D</a></li> <li id="Classes_W"><a href="sims/dynamics/World.html" target="contentFrame">World</a></li> <li><a href="graphyx/gui/WorldPanel.html" target="contentFrame">WorldPanel</a></li> @@ -77,6 +79,7 @@ <div class="kinds" id="Objects">Objects</div><ul class="list"> <li id="Objects_A"><a href="sims/collision/AABB$object.html" target="contentFrame">AABB</a></li> <li><a href="graphyx/gui/AboutHelpFrame$object.html" target="contentFrame">AboutHelpFrame</a></li> +<li><a href="graphyx/tests/Atom$object.html" target="contentFrame">Atom</a></li> <li id="Objects_B"><a href="graphyx/tests/BallStack$object.html" target="contentFrame">BallStack</a></li> <li><a href="sims/dynamics/Body$object.html" target="contentFrame">Body</a></li> <li id="Objects_C"><a href="graphyx/tests/Carriage$object.html" target="contentFrame">Carriage</a></li> @@ -117,6 +120,7 @@ <li><a href="sims/collision/PolyCircleCollision$object.html" target="contentFrame">PolyCircleCollision</a></li> <li><a href="sims/collision/PolyCollision$object.html" target="contentFrame">PolyCollision</a></li> <li><a href="sims/util/Positioning$object.html" target="contentFrame">Positioning</a></li> +<li><a href="sims/dynamics/joints/test/PrismaticJoint$object.html" target="contentFrame">PrismaticJoint</a></li> <li><a href="sims/geometry/Projection$object.html" target="contentFrame">Projection</a></li> <li id="Objects_R"><a href="graphyx/tests/RagdollTest$object.html" target="contentFrame">RagdollTest</a></li> <li><a href="sims/geometry/Ray$object.html" target="contentFrame">Ray</a></li> @@ -128,10 +132,12 @@ <li><a href="sims/geometry/Segment$object.html" target="contentFrame">Segment</a></li> <li><a href="graphyx/actors/SetWorld$object.html" target="contentFrame">SetWorld</a></li> <li><a href="sims/dynamics/Shape$object.html" target="contentFrame">Shape</a></li> +<li><a href="graphyx/tests/Spring$object.html" target="contentFrame">Spring</a></li> <li><a href="sims/dynamics/joints/SpringJoint$object.html" target="contentFrame">SpringJoint</a></li> <li><a href="graphyx/tests/Stacking$object.html" target="contentFrame">Stacking</a></li> <li><a href="graphyx/actors/Start$object.html" target="contentFrame">Start</a></li> <li><a href="graphyx/actors/Stop$object.html" target="contentFrame">Stop</a></li> <li id="Objects_V"><a href="sims/geometry/Vector2D$object.html" target="contentFrame">Vector2D</a></li> +<li id="Objects_W"><a href="graphyx/tests/Wave$object.html" target="contentFrame">Wave</a></li> </ul></div></body> </html>
\ No newline at end of file diff --git a/doc/graphyx/graphics/GraphicalCircle.html b/doc/graphyx/graphics/GraphicalCircle.html index 1cf6174..613c136 100644 --- a/doc/graphyx/graphics/GraphicalCircle.html +++ b/doc/graphyx/graphics/GraphicalCircle.html @@ -61,7 +61,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -163,7 +163,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> diff --git a/doc/graphyx/graphics/GraphicalRectangle.html b/doc/graphyx/graphics/GraphicalRectangle.html index 264601b..27d2809 100644 --- a/doc/graphyx/graphics/GraphicalRectangle.html +++ b/doc/graphyx/graphics/GraphicalRectangle.html @@ -61,7 +61,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -170,7 +170,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> diff --git a/doc/graphyx/graphics/GraphicalRegularPolygon.html b/doc/graphyx/graphics/GraphicalRegularPolygon.html index a86cedf..ee4a7aa 100644 --- a/doc/graphyx/graphics/GraphicalRegularPolygon.html +++ b/doc/graphyx/graphics/GraphicalRegularPolygon.html @@ -61,7 +61,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -170,7 +170,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> diff --git a/doc/graphyx/graphics/GraphicalShape.html b/doc/graphyx/graphics/GraphicalShape.html index 5f45529..574ec35 100644 --- a/doc/graphyx/graphics/GraphicalShape.html +++ b/doc/graphyx/graphics/GraphicalShape.html @@ -59,7 +59,7 @@ <em><a href="../../graphyx/graphics/GraphicalShape.html#uid" target="_self">uid</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> - <div>Einzigartige Identifikationsnummer.</div> + <div>Unique identification number.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -74,7 +74,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#density" target="_self">density</a> (abstract), <a href="../../sims/dynamics/Shape.html#volume" target="_self">volume</a> (abstract), <a href="../../sims/dynamics/Shape.html#I" target="_self">I</a> (abstract), <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#density" target="_self">density</a> (abstract), <a href="../../sims/dynamics/Shape.html#volume" target="_self">volume</a> (abstract), <a href="../../sims/dynamics/Shape.html#I" target="_self">I</a> (abstract), <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="inherited"> @@ -89,7 +89,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#AABB" target="_self">AABB</a> (abstract), <a href="../../sims/dynamics/Shape.html#project%28sims.geometry.Vector2D%29" target="_self">project</a> (abstract), <a href="../../sims/dynamics/Shape.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a> (abstract), <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#AABB" target="_self">AABB</a> (abstract), <a href="../../sims/dynamics/Shape.html#project%28sims.geometry.Vector2D%29" target="_self">project</a> (abstract), <a href="../../sims/dynamics/Shape.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a> (abstract), <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> @@ -147,7 +147,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Einzigartige Identifikationsnummer.</dd></dl> + <dl><dd>Unique identification number.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/graphyx/graphics/Parser$object.html b/doc/graphyx/graphics/Parser$object.html index a03729d..b74e777 100644 --- a/doc/graphyx/graphics/Parser$object.html +++ b/doc/graphyx/graphics/Parser$object.html @@ -56,8 +56,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.collision.AABB%29" target="_self">toGraphical</a></em> - (<em>real</em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a>) : <a href="../../graphyx/graphics/GraphicalAABB.html" target="_self">GraphicalAABB</a> + <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.Shape%29" target="_self">toGraphical</a></em> + (<em>real</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../graphyx/graphics/GraphicalShape.html" target="_self">GraphicalShape</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> </td> @@ -67,8 +67,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.Shape%29" target="_self">toGraphical</a></em> - (<em>real</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../graphyx/graphics/GraphicalShape.html" target="_self">GraphicalShape</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> + <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.collision.Pair%29" target="_self">toGraphical</a></em> + (<em>real</em> : <a href="../../sims/collision/Pair.html" target="_self">Pair</a>) : <a href="../../graphyx/graphics/GraphicalPair.html" target="_self">GraphicalPair</a> </td> @@ -78,8 +78,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.collision.Pair%29" target="_self">toGraphical</a></em> - (<em>real</em> : <a href="../../sims/collision/Pair.html" target="_self">Pair</a>) : <a href="../../graphyx/graphics/GraphicalPair.html" target="_self">GraphicalPair</a> + <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.collision.AABB%29" target="_self">toGraphical</a></em> + (<em>real</em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a>) : <a href="../../graphyx/graphics/GraphicalAABB.html" target="_self">GraphicalAABB</a> </td> @@ -89,8 +89,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.joints.Joint%29" target="_self">toGraphical</a></em> - (<em>real</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> + <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.Body%29" target="_self">toGraphical</a></em> + (<em>real</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../graphyx/graphics/GraphicalBody.html" target="_self">GraphicalBody</a> </td> @@ -111,8 +111,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.Body%29" target="_self">toGraphical</a></em> - (<em>real</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../graphyx/graphics/GraphicalBody.html" target="_self">GraphicalBody</a> + <em><a href="../../graphyx/graphics/Parser$object.html#toGraphical%28sims.dynamics.joints.Joint%29" target="_self">toGraphical</a></em> + (<em>real</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a> </td> @@ -163,7 +163,7 @@ <code></code> <code>def</code> - <em>toGraphical</em>(<em>real</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> + <em>toGraphical</em>(<em>real</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a> </dt> <dd></dd> </dl><hr></hr> diff --git a/doc/graphyx/graphics/Scene.html b/doc/graphyx/graphics/Scene.html index 06bbfe1..ab0f4df 100644 --- a/doc/graphyx/graphics/Scene.html +++ b/doc/graphyx/graphics/Scene.html @@ -87,7 +87,7 @@ </td> <td class="signature"> <em><a href="../../graphyx/graphics/Scene.html#joints" target="_self">joints</a></em> - : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a>] + : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a>] </td> @@ -239,7 +239,7 @@ <code></code> <code>val</code> - <em>joints</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a>] + <em>joints</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../graphyx/graphics/GraphicalJoint.html" target="_self">GraphicalJoint</a>] </dt> <dd></dd> </dl><hr></hr> diff --git a/doc/graphyx/gui/OptionsPanel.html b/doc/graphyx/gui/OptionsPanel.html index b4f3ec6..a666b5d 100644 --- a/doc/graphyx/gui/OptionsPanel.html +++ b/doc/graphyx/gui/OptionsPanel.html @@ -130,6 +130,17 @@ <code> val</code> </td> <td class="signature"> + <em><a href="../../graphyx/gui/OptionsPanel.html#chckTrace" target="_self">chckTrace</a></em> + : <a href="" target="contentFrame" class="scala/swing/CheckBox">scala.swing.CheckBox</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> <em><a href="../../graphyx/gui/OptionsPanel.html#components" target="_self">components</a></em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="" target="contentFrame" class="scala/swing/Component">scala.swing.Component</a>] @@ -262,6 +273,17 @@ <code> val</code> </td> <td class="signature"> + <em><a href="../../graphyx/gui/OptionsPanel.html#lblTrace" target="_self">lblTrace</a></em> + : <a href="" target="contentFrame" class="scala/swing/Label">scala.swing.Label</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> <em><a href="../../graphyx/gui/OptionsPanel.html#txtIterations" target="_self">txtIterations</a></em> : <a href="" target="contentFrame" class="scala/swing/TextField">scala.swing.TextField</a> @@ -587,6 +609,24 @@ </dt> <dd></dd> </dl><hr></hr> +<a name="lblTrace"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>lblTrace</em> : <a href="" target="contentFrame" class="scala/swing/Label">scala.swing.Label</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="chckTrace"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>chckTrace</em> : <a href="" target="contentFrame" class="scala/swing/CheckBox">scala.swing.CheckBox</a> + </dt> + <dd></dd> + </dl><hr></hr> <a name="components"></a><dl> <dt> diff --git a/doc/graphyx/gui/WorldPanel.html b/doc/graphyx/gui/WorldPanel.html index 959812e..e9a346e 100644 --- a/doc/graphyx/gui/WorldPanel.html +++ b/doc/graphyx/gui/WorldPanel.html @@ -182,6 +182,17 @@ </tr> <tr> <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/gui/WorldPanel.html#prevPos" target="_self">prevPos</a></em> + : <a href="" target="contentFrame" class="scala/collection/mutable/Map">scala.collection.mutable.Map</a>[<a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>, <a href="" target="contentFrame" class="scala/collection/mutable/Queue">scala.collection.mutable.Queue</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>]] + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> <code> var</code> </td> <td class="signature"> @@ -202,6 +213,17 @@ </td> </tr> +<tr> + <td class="modifiers" valign="top"> + <code> var</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/gui/WorldPanel.html#trace" target="_self">trace</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> + + + </td> + </tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> Values and Variables inherited from <a href="" target="contentFrame" class="scala/swing/BoxPanel">scala.swing.BoxPanel</a> @@ -340,6 +362,17 @@ <code> def</code> </td> <td class="signature"> + <em><a href="../../graphyx/gui/WorldPanel.html#trace%28Iterable%5Bgraphyx.graphics.GraphicalShape%5D%2Cjava.awt.Graphics%29" target="_self">trace</a></em> + (<em>shapes</em> : <a href="" target="contentFrame" class="scala/Iterable">scala.Iterable</a>[<a href="../../graphyx/graphics/GraphicalShape.html" target="_self">GraphicalShape</a>], <em>g</em> : <a href="" target="contentFrame" class="java/awt/Graphics">java.awt.Graphics</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> <em><a href="../../graphyx/gui/WorldPanel.html#update%28%29" target="_self">update</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> @@ -501,6 +534,24 @@ </dt> <dd></dd> </dl><hr></hr> +<a name="trace"></a><dl> + <dt> + + <code></code> + <code>var</code> + <em>trace</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="prevPos"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>prevPos</em> : <a href="" target="contentFrame" class="scala/collection/mutable/Map">scala.collection.mutable.Map</a>[<a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>, <a href="" target="contentFrame" class="scala/collection/mutable/Queue">scala.collection.mutable.Queue</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>]] + </dt> + <dd></dd> + </dl><hr></hr> <a name="mousePressed"></a><dl> <dt> @@ -593,6 +644,15 @@ </dt> <dd></dd> </dl><hr></hr> +<a name="trace%28Iterable%5Bgraphyx.graphics.GraphicalShape%5D%2Cjava.awt.Graphics%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>trace</em>(<em>shapes</em> : <a href="" target="contentFrame" class="scala/Iterable">scala.Iterable</a>[<a href="../../graphyx/graphics/GraphicalShape.html" target="_self">GraphicalShape</a>], <em>g</em> : <a href="" target="contentFrame" class="java/awt/Graphics">java.awt.Graphics</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><hr></hr> <a name="getBody%28sims.geometry.Vector2D%29"></a><dl> <dt> diff --git a/doc/graphyx/tests$content.html b/doc/graphyx/tests$content.html index a16a70b..ff87015 100644 --- a/doc/graphyx/tests$content.html +++ b/doc/graphyx/tests$content.html @@ -24,6 +24,17 @@ <code> object</code> </td> <td class="signature"> + <em><a href="../graphyx/tests/Atom$object.html" target="_self">Atom</a></em> + <code> extends </code><a href="../graphyx/tests/Test.html" target="_self">Test</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> object</code> + </td> + <td class="signature"> <em><a href="../graphyx/tests/BallStack$object.html" target="_self">BallStack</a></em> <code> extends </code><a href="../graphyx/tests/Test.html" target="_self">Test</a> @@ -189,11 +200,33 @@ <code> object</code> </td> <td class="signature"> + <em><a href="../graphyx/tests/Spring$object.html" target="_self">Spring</a></em> + <code> extends </code><a href="../graphyx/tests/Test.html" target="_self">Test</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> object</code> + </td> + <td class="signature"> <em><a href="../graphyx/tests/Stacking$object.html" target="_self">Stacking</a></em> <code> extends </code><a href="../graphyx/tests/Test.html" target="_self">Test</a> </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> object</code> + </td> + <td class="signature"> + <em><a href="../graphyx/tests/Wave$object.html" target="_self">Wave</a></em> + <code> extends </code><a href="../graphyx/tests/Test.html" target="_self">Test</a> + + + </td> </tr> </table></body> </html>
\ No newline at end of file diff --git a/doc/graphyx/tests$package.html b/doc/graphyx/tests$package.html index 7afa1bc..7e57107 100644 --- a/doc/graphyx/tests$package.html +++ b/doc/graphyx/tests$package.html @@ -12,7 +12,8 @@ <li id="Classes_T"><a href="../graphyx/tests/Test.html" target="contentFrame">Test</a></li> </ul> <div class="kinds" id="Objects">Objects</div><ul class="list"> - <li id="Objects_B"><a href="../graphyx/tests/BallStack$object.html" target="contentFrame">BallStack</a></li> + <li id="Objects_A"><a href="../graphyx/tests/Atom$object.html" target="contentFrame">Atom</a></li> +<li id="Objects_B"><a href="../graphyx/tests/BallStack$object.html" target="contentFrame">BallStack</a></li> <li id="Objects_C"><a href="../graphyx/tests/Carriage$object.html" target="contentFrame">Carriage</a></li> <li><a href="../graphyx/tests/Chain$object.html" target="contentFrame">Chain</a></li> <li><a href="../graphyx/tests/CompositeShape$object.html" target="contentFrame">CompositeShape</a></li> @@ -27,6 +28,8 @@ <li id="Objects_N"><a href="../graphyx/tests/Net$object.html" target="contentFrame">Net</a></li> <li id="Objects_R"><a href="../graphyx/tests/RagdollTest$object.html" target="contentFrame">RagdollTest</a></li> <li><a href="../graphyx/tests/Restitution$object.html" target="contentFrame">Restitution</a></li> -<li id="Objects_S"><a href="../graphyx/tests/Stacking$object.html" target="contentFrame">Stacking</a></li> +<li id="Objects_S"><a href="../graphyx/tests/Spring$object.html" target="contentFrame">Spring</a></li> +<li><a href="../graphyx/tests/Stacking$object.html" target="contentFrame">Stacking</a></li> +<li id="Objects_W"><a href="../graphyx/tests/Wave$object.html" target="contentFrame">Wave</a></li> </ul></div></body> </html>
\ No newline at end of file diff --git a/doc/graphyx/tests/Atom$object.html b/doc/graphyx/tests/Atom$object.html new file mode 100644 index 0000000..2db8db4 --- /dev/null +++ b/doc/graphyx/tests/Atom$object.html @@ -0,0 +1,256 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>object Atom in graphyx.tests</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../graphyx/tests$package.html" target="_self">graphyx.tests</a> + <br></br> + <span class="entity">object Atom</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="graphyx/tests/Atom"><code>graphyx/tests/Atom.scala</code></a>] + </div><hr></hr> + <a name="Atom"></a><dl> + <dt> + + <code></code> + <code>object</code> + <em>Atom</em> + </dt> + <dd><code> extends </code><a href="../../graphyx/tests/Test.html" target="_self">Test</a></dd> + </dl> + + +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Value Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> var</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#connections" target="_self">connections</a></em> + : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a>] + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> var</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#electrons" target="_self">electrons</a></em> + : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>] + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> var</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#nucleus" target="_self">nucleus</a></em> + : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#title" target="_self">title</a></em> + : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#world" target="_self">world</a></em> + : <a href="../../sims/dynamics/World.html" target="_self">World</a> + + + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Method Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#fireEvent%28%29" target="_self">fireEvent</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Atom$object.html#init%28%29" target="_self">init</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="../../graphyx/tests/Test.html" target="_self">Test</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="../../graphyx/tests/Test.html#toString%28%29" target="_self">toString</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#hashCode%28%29" target="_self">hashCode</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#equals%28Any%29" target="_self">equals</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + + +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Value Details</td></tr> + </table><div><a name="title"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>title</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#title" target="_self">title</a> + </dd> + </dl><hr></hr> +<a name="world"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>world</em> : <a href="../../sims/dynamics/World.html" target="_self">World</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#world" target="_self">world</a> + </dd> + </dl><hr></hr> +<a name="nucleus"></a><dl> + <dt> + + <code></code> + <code>var</code> + <em>nucleus</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="electrons"></a><dl> + <dt> + + <code></code> + <code>var</code> + <em>electrons</em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>] + </dt> + <dd></dd> + </dl><hr></hr> +<a name="connections"></a><dl> + <dt> + + <code></code> + <code>var</code> + <em>connections</em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a>] + </dt> + <dd></dd> + </dl><hr></hr></div> +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Method Details</td></tr> + </table><div><a name="init%28%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>init</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#init%28%29" target="_self">init</a> + </dd> + </dl><hr></hr> +<a name="fireEvent%28%29"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>fireEvent</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#fireEvent%28%29" target="_self">fireEvent</a> + </dd> + </dl><hr></hr></div> + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/graphyx/tests/Spring$object.html b/doc/graphyx/tests/Spring$object.html new file mode 100644 index 0000000..c9a3d6f --- /dev/null +++ b/doc/graphyx/tests/Spring$object.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>object Spring in graphyx.tests</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../graphyx/tests$package.html" target="_self">graphyx.tests</a> + <br></br> + <span class="entity">object Spring</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="graphyx/tests/Spring"><code>graphyx/tests/Spring.scala</code></a>] + </div><hr></hr> + <a name="Spring"></a><dl> + <dt> + + <code></code> + <code>object</code> + <em>Spring</em> + </dt> + <dd><code> extends </code><a href="../../graphyx/tests/Test.html" target="_self">Test</a></dd> + </dl> + + +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Value Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Spring$object.html#title" target="_self">title</a></em> + : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Spring$object.html#world" target="_self">world</a></em> + : <a href="../../sims/dynamics/World.html" target="_self">World</a> + + + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Method Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Spring$object.html#init%28%29" target="_self">init</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="../../graphyx/tests/Test.html" target="_self">Test</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="../../graphyx/tests/Test.html#fireEvent%28%29" target="_self">fireEvent</a>, <a href="../../graphyx/tests/Test.html#toString%28%29" target="_self">toString</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#hashCode%28%29" target="_self">hashCode</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#equals%28Any%29" target="_self">equals</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + + +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Value Details</td></tr> + </table><div><a name="title"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>title</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#title" target="_self">title</a> + </dd> + </dl><hr></hr> +<a name="world"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>world</em> : <a href="../../sims/dynamics/World.html" target="_self">World</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#world" target="_self">world</a> + </dd> + </dl><hr></hr></div> +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Method Details</td></tr> + </table><div><a name="init%28%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>init</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#init%28%29" target="_self">init</a> + </dd> + </dl><hr></hr></div> + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/graphyx/tests/Test.html b/doc/graphyx/tests/Test.html index da7465a..33cfb50 100644 --- a/doc/graphyx/tests/Test.html +++ b/doc/graphyx/tests/Test.html @@ -34,7 +34,7 @@ <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl><dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> - <dd><a href="../../graphyx/tests/BallStack$object.html" target="_self">BallStack</a>, <a href="../../graphyx/tests/Carriage$object.html" target="_self">Carriage</a>, <a href="../../graphyx/tests/Chain$object.html" target="_self">Chain</a>, <a href="../../graphyx/tests/CompositeShape$object.html" target="_self">CompositeShape</a>, <a href="../../graphyx/tests/Cup$object.html" target="_self">Cup</a>, <a href="../../graphyx/tests/EmptyTest$object.html" target="_self">EmptyTest</a>, <a href="../../graphyx/tests/Friction$object.html" target="_self">Friction</a>, <a href="../../graphyx/tests/Friction2$object.html" target="_self">Friction2</a>, <a href="../../graphyx/tests/General1$object.html" target="_self">General1</a>, <a href="../../graphyx/tests/General2$object.html" target="_self">General2</a>, <a href="../../graphyx/tests/Joints1$object.html" target="_self">Joints1</a>, <a href="../../graphyx/tests/Joints2$object.html" target="_self">Joints2</a>, <a href="../../graphyx/tests/Net$object.html" target="_self">Net</a>, <a href="../../graphyx/tests/RagdollTest$object.html" target="_self">RagdollTest</a>, <a href="../../graphyx/tests/Restitution$object.html" target="_self">Restitution</a>, <a href="../../graphyx/tests/Stacking$object.html" target="_self">Stacking</a></dd> + <dd><a href="../../graphyx/tests/Atom$object.html" target="_self">Atom</a>, <a href="../../graphyx/tests/BallStack$object.html" target="_self">BallStack</a>, <a href="../../graphyx/tests/Carriage$object.html" target="_self">Carriage</a>, <a href="../../graphyx/tests/Chain$object.html" target="_self">Chain</a>, <a href="../../graphyx/tests/CompositeShape$object.html" target="_self">CompositeShape</a>, <a href="../../graphyx/tests/Cup$object.html" target="_self">Cup</a>, <a href="../../graphyx/tests/EmptyTest$object.html" target="_self">EmptyTest</a>, <a href="../../graphyx/tests/Friction$object.html" target="_self">Friction</a>, <a href="../../graphyx/tests/Friction2$object.html" target="_self">Friction2</a>, <a href="../../graphyx/tests/General1$object.html" target="_self">General1</a>, <a href="../../graphyx/tests/General2$object.html" target="_self">General2</a>, <a href="../../graphyx/tests/Joints1$object.html" target="_self">Joints1</a>, <a href="../../graphyx/tests/Joints2$object.html" target="_self">Joints2</a>, <a href="../../graphyx/tests/Net$object.html" target="_self">Net</a>, <a href="../../graphyx/tests/RagdollTest$object.html" target="_self">RagdollTest</a>, <a href="../../graphyx/tests/Restitution$object.html" target="_self">Restitution</a>, <a href="../../graphyx/tests/Spring$object.html" target="_self">Spring</a>, <a href="../../graphyx/tests/Stacking$object.html" target="_self">Stacking</a>, <a href="../../graphyx/tests/Wave$object.html" target="_self">Wave</a></dd> </dl><hr></hr> diff --git a/doc/graphyx/tests/Wave$object.html b/doc/graphyx/tests/Wave$object.html new file mode 100644 index 0000000..1b31387 --- /dev/null +++ b/doc/graphyx/tests/Wave$object.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>object Wave in graphyx.tests</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../graphyx/tests$package.html" target="_self">graphyx.tests</a> + <br></br> + <span class="entity">object Wave</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="graphyx/tests/Wave"><code>graphyx/tests/Wave.scala</code></a>] + </div><hr></hr> + <a name="Wave"></a><dl> + <dt> + + <code></code> + <code>object</code> + <em>Wave</em> + </dt> + <dd><code> extends </code><a href="../../graphyx/tests/Test.html" target="_self">Test</a></dd> + </dl> + + +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Value Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Wave$object.html#title" target="_self">title</a></em> + : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Wave$object.html#world" target="_self">world</a></em> + : <a href="../../sims/dynamics/World.html" target="_self">World</a> + + + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Method Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../graphyx/tests/Wave$object.html#init%28%29" target="_self">init</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="../../graphyx/tests/Test.html" target="_self">Test</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="../../graphyx/tests/Test.html#fireEvent%28%29" target="_self">fireEvent</a>, <a href="../../graphyx/tests/Test.html#toString%28%29" target="_self">toString</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#hashCode%28%29" target="_self">hashCode</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#equals%28Any%29" target="_self">equals</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + + +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Value Details</td></tr> + </table><div><a name="title"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>title</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#title" target="_self">title</a> + </dd> + </dl><hr></hr> +<a name="world"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>world</em> : <a href="../../sims/dynamics/World.html" target="_self">World</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#world" target="_self">world</a> + </dd> + </dl><hr></hr></div> +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Method Details</td></tr> + </table><div><a name="init%28%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>init</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../graphyx/tests/Test.html" target="_self">Test</a>.<a href="../../graphyx/tests/Test.html#init%28%29" target="_self">init</a> + </dd> + </dl><hr></hr></div> + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/modules.html b/doc/modules.html index 8edb9c7..894ca01 100644 --- a/doc/modules.html +++ b/doc/modules.html @@ -22,6 +22,8 @@ sims.dynamics</a></li> <li><a href="sims/dynamics/joints$package.html" target="classesFrame" onclick="resetKind();"> sims.dynamics.joints</a></li> +<li><a href="sims/dynamics/joints/test$package.html" target="classesFrame" onclick="resetKind();"> + sims.dynamics.joints.test</a></li> <li><a href="sims/geometry$package.html" target="classesFrame" onclick="resetKind();"> sims.geometry</a></li> <li><a href="sims/math$package.html" target="classesFrame" onclick="resetKind();"> diff --git a/doc/root-content.html b/doc/root-content.html index e5c8a85..e477111 100644 --- a/doc/root-content.html +++ b/doc/root-content.html @@ -47,6 +47,11 @@ </td></tr> <tr><td class="signature"> <code>package + <a href="sims/dynamics/joints/test$content.html" target="_self">sims.dynamics.joints.test</a> + </code> + </td></tr> +<tr><td class="signature"> + <code>package <a href="sims/geometry$content.html" target="_self">sims.geometry</a> </code> </td></tr> diff --git a/doc/sims/collision$content.html b/doc/sims/collision$content.html index d34c535..1aa99c6 100644 --- a/doc/sims/collision$content.html +++ b/doc/sims/collision$content.html @@ -13,9 +13,8 @@ <em><a href="../sims/collision/AABB.html" target="_self">AABB</a></em> (<code>val </code><em>minVertex</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>maxVertex</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Axis Aligned Bounding Boxes, kurz AABBs, sind Rechtecke die eine bestimmte Form umhuellen.
- Da AABBs nach den X- und Y-Achsen orientiert sind, ermoeglichen sie eine schnelle
- und einfache Feststellung ob zwei AABBs sich ueberschneiden.</div> + <div>Axis Aligned Bounding Boxes (AABBs) are rectangles that frame a shape.
+ Their X-Axis and Y-Axis orientation makes it easy to test two AABBs for overlap.</div> </td> </tr> <tr> @@ -26,7 +25,7 @@ <em><a href="../sims/collision/CircleCollision.html" target="_self">CircleCollision</a></em> (<code>val </code><em>c1</em> : <a href="../sims/dynamics/Circle.html" target="_self">Circle</a>, <code>val </code><em>c2</em> : <a href="../sims/dynamics/Circle.html" target="_self">Circle</a>)<code> extends </code><a href="../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Kollision zwischen zwei Kreisen.</div> + <div>Collision between two circles.</div> </td> </tr> <tr> @@ -37,7 +36,7 @@ <em><a href="../sims/collision/Collision.html" target="_self">Collision</a></em> <code> extends </code><a href="../sims/dynamics/Constraint.html" target="_self">Constraint</a><code> with </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Kollisionen zwischen zwei Formen enthalten Methoden zur Berrechnen der Kollisionsreaktion.</div> + <div>Collision between two shapes. Contains methods to compute the collision response.</div> </td> </tr> <tr> @@ -48,7 +47,7 @@ <em><a href="../sims/collision/Detector.html" target="_self">Detector</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Eine Welt ermittelt ihre Kollisionen durch konkrete Implementierungen dieser Klasse.</div> + <div>A world detects its collisions through concrete implementations of this class.</div> </td> </tr> <tr> @@ -59,8 +58,8 @@ <em><a href="../sims/collision/GridDetector.html" target="_self">GridDetector</a></em> (<code>val override </code><em>world</em> : <a href="../sims/dynamics/World.html" target="_self">World</a>)<code> extends </code><a href="../sims/collision/Detector.html" target="_self">Detector</a> - <div>Eine konkrete Implementierung von <code>Detector</code>. <code>GridDetector</code> ermittelt
- alle Kollisionen mit einem Gittersystem.</div> + <div>A conrete implementation of <code>Detector</code>. <code>GridDetector</code> divides the world into a grid
+ for faster collision detection.</div> </td> </tr> <tr> @@ -82,7 +81,7 @@ <em><a href="../sims/collision/Pair.html" target="_self">Pair</a></em> (<code>val </code><em>s1</em> : <a href="../sims/dynamics/Shape.html" target="_self">Shape</a>, <code>val </code><em>s2</em> : <a href="../sims/dynamics/Shape.html" target="_self">Shape</a>)<code> extends </code>(<a href="../sims/dynamics/Shape.html" target="_self">Shape</a>, <a href="../sims/dynamics/Shape.html" target="_self">Shape</a>) - <div>Formenpaar.</div> + <div>Pair of shapes.</div> </td> </tr> <tr> @@ -93,7 +92,7 @@ <em><a href="../sims/collision/PolyCircleCollision.html" target="_self">PolyCircleCollision</a></em> (<code>val </code><em>p</em> : <a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a>, <code>val </code><em>c</em> : <a href="../sims/dynamics/Circle.html" target="_self">Circle</a>)<code> extends </code><a href="../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Kollision zwischen einem konvexen Polygon und einem Kreis.</div> + <div>Collision between a convex polygon and a circle.</div> </td> </tr> <tr> @@ -104,7 +103,7 @@ <em><a href="../sims/collision/PolyCollision.html" target="_self">PolyCollision</a></em> (<code>val </code><em>p1</em> : <a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a>, <code>val </code><em>p2</em> : <a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a>)<code> extends </code><a href="../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Kollision zwischen zwei konvexen Polygonen.</div> + <div>Collision between two convex polygons.</div> </td> </tr> </table> diff --git a/doc/sims/collision/AABB.html b/doc/sims/collision/AABB.html index d4759f1..a687d9d 100644 --- a/doc/sims/collision/AABB.html +++ b/doc/sims/collision/AABB.html @@ -33,11 +33,10 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Axis Aligned Bounding Boxes, kurz AABBs, sind Rechtecke die eine bestimmte Form umhuellen.
- Da AABBs nach den X- und Y-Achsen orientiert sind, ermoeglichen sie eine schnelle
- und einfache Feststellung ob zwei AABBs sich ueberschneiden.</dd></dl> + <dl><dd>Axis Aligned Bounding Boxes (AABBs) are rectangles that frame a shape.
+ Their X-Axis and Y-Axis orientation makes it easy to test two AABBs for overlap.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>minVertex - </code>Ortsvektor der minimalen Ecke des AABBs</dd><dd><code>maxVertex - </code>Ortsvektor der maximalen Ecke des AABBs</dd></dl> + <b>Parameters</b></dt><dd><code>minVertex - </code>Position vector of the bottom-left vertex</dd><dd><code>maxVertex - </code>Position vector of the upper-right vertex</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> <dd><a href="../../graphyx/graphics/GraphicalAABB.html" target="_self">GraphicalAABB</a></dd> @@ -78,7 +77,7 @@ <em><a href="../../sims/collision/AABB.html#overlaps%28sims.collision.AABB%29" target="_self">overlaps</a></em> (<em>box</em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob dieses AABB sich mit dem AABB <code>box</code> ueberschneidet.</div> + <div>Checks this AABB with <code>box</code> for overlap.</div> </td> </tr> <tr> @@ -156,9 +155,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob dieses AABB sich mit dem AABB <code>box</code> ueberschneidet.</dd></dl> + <dl><dd>Checks this AABB with <code>box</code> for overlap.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>box - </code>das mit diesem auf Ueberschneidung zu ueberpruefende AABB</dd></dl> + <b>Parameters</b></dt><dd><code>box - </code>AABB with which to check for overlap</dd></dl> <hr></hr> <a name="hashCode%28%29"></a><dl> <dt> diff --git a/doc/sims/collision/CircleCollision.html b/doc/sims/collision/CircleCollision.html index d305be6..e26027f 100644 --- a/doc/sims/collision/CircleCollision.html +++ b/doc/sims/collision/CircleCollision.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="../../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Kollision zwischen zwei Kreisen.</dd></dl> + <dl><dd>Collision between two circles.</dd></dl> <dl></dl> @@ -48,7 +48,7 @@ <em><a href="../../sims/collision/CircleCollision.html#normal" target="_self">normal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normalenvektor zu der Kollisionsebene.</div> + <div>Normal vector to the collision face.</div> </td> </tr> <tr> @@ -59,7 +59,7 @@ <em><a href="../../sims/collision/CircleCollision.html#points" target="_self">points</a></em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Kollisionspunkte.</div> + <div>Collision points.</div> </td> </tr> <tr> @@ -70,7 +70,7 @@ <em><a href="../../sims/collision/CircleCollision.html#shape1" target="_self">shape1</a></em> : <a href="../../sims/dynamics/Circle.html" target="_self">Circle</a> - <div>Erste Kollisionsform (Referenz).</div> + <div>First colliding shape (reference shape).</div> </td> </tr> <tr> @@ -81,7 +81,7 @@ <em><a href="../../sims/collision/CircleCollision.html#shape2" target="_self">shape2</a></em> : <a href="../../sims/dynamics/Circle.html" target="_self">Circle</a> - <div>Zweite Kollisionsform (eindringend).</div> + <div>Second colliding shape (incident shape).</div> </td> </tr> </table> @@ -191,7 +191,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erste Kollisionsform (Referenz).</dd></dl> + <dl><dd>First colliding shape (reference shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -210,7 +210,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zweite Kollisionsform (eindringend).</dd></dl> + <dl><dd>Second colliding shape (incident shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -229,7 +229,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normalenvektor zu der Kollisionsebene.</dd></dl> + <dl><dd>Normal vector to the collision face.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -248,7 +248,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionspunkte.</dd></dl> + <dl><dd>Collision points.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/collision/Collision$object.html b/doc/sims/collision/Collision$object.html index de0b9de..0d02762 100644 --- a/doc/sims/collision/Collision$object.html +++ b/doc/sims/collision/Collision$object.html @@ -45,7 +45,7 @@ <em><a href="../../sims/collision/Collision$object.html#ToleratedOverlap" target="_self">ToleratedOverlap</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Erlaubte Ueberlappung.</div> + <div>Tolerated overlap. Collision response will only be applied if the overlap of two shapes exceeds the tolerated overlap.</div> </td> </tr> </table> @@ -79,7 +79,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erlaubte Ueberlappung.</dd></dl> + <dl><dd>Tolerated overlap. Collision response will only be applied if the overlap of two shapes exceeds the tolerated overlap.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/collision/Collision.html b/doc/sims/collision/Collision.html index 8b97de9..028dc09 100644 --- a/doc/sims/collision/Collision.html +++ b/doc/sims/collision/Collision.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="../../sims/dynamics/Constraint.html" target="_self">Constraint</a><code> with </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Kollisionen zwischen zwei Formen enthalten Methoden zur Berrechnen der Kollisionsreaktion.</dd></dl> + <dl><dd>Collision between two shapes. Contains methods to compute the collision response.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -51,7 +51,7 @@ <em><a href="../../sims/collision/Collision.html#normal" target="_self">normal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normalenvektor zu der Kollisionsebene.</div> + <div>Normal vector to the collision face.</div> </td> </tr> <tr> @@ -62,7 +62,7 @@ <em><a href="../../sims/collision/Collision.html#points" target="_self">points</a></em> : <a href="" target="contentFrame" class="scala/Iterable">scala.Iterable</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Kollisionspunkte.</div> + <div>Collision points.</div> </td> </tr> <tr> @@ -73,7 +73,7 @@ <em><a href="../../sims/collision/Collision.html#shape1" target="_self">shape1</a></em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> - <div>Erste Kollisionsform (Referenz).</div> + <div>First colliding shape (reference shape).</div> </td> </tr> <tr> @@ -84,7 +84,7 @@ <em><a href="../../sims/collision/Collision.html#shape2" target="_self">shape2</a></em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> - <div>Zweite Kollisionsform (eindringend).</div> + <div>Second colliding shape (incident shape).</div> </td> </tr> </table> @@ -109,7 +109,7 @@ <em><a href="../../sims/collision/Collision.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen entsprechen.</div> + <div>Corrects the positions of bodies according to this constraint.</div> </td> </tr> <tr> @@ -120,7 +120,7 @@ <em><a href="../../sims/collision/Collision.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen entsprechen.</div> + <div>Corrects the velocities of bodies according to this constraint.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -153,7 +153,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erste Kollisionsform (Referenz).</dd></dl> + <dl><dd>First colliding shape (reference shape).</dd></dl> <dl></dl> <hr></hr> <a name="shape2"></a><dl> @@ -165,7 +165,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zweite Kollisionsform (eindringend).</dd></dl> + <dl><dd>Second colliding shape (incident shape).</dd></dl> <dl></dl> <hr></hr> <a name="points"></a><dl> @@ -177,7 +177,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionspunkte.</dd></dl> + <dl><dd>Collision points.</dd></dl> <dl></dl> <hr></hr> <a name="normal"></a><dl> @@ -189,7 +189,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normalenvektor zu der Kollisionsebene.</dd></dl> + <dl><dd>Normal vector to the collision face.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -203,8 +203,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen entsprechen.</dd></dl> - <dl></dl> + <dl><dd>Corrects the velocities of bodies according to this constraint.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Parameters</b></dt><dd><code>h - </code>a time interval, used for converting forces and impulses</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -231,8 +232,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen entsprechen.</dd></dl> - <dl></dl> + <dl><dd>Corrects the positions of bodies according to this constraint.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Parameters</b></dt><dd><code>h - </code>a time interval, used for converting forces and impulses</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> diff --git a/doc/sims/collision/Detector.html b/doc/sims/collision/Detector.html index 7aaa1e4..ad93c73 100644 --- a/doc/sims/collision/Detector.html +++ b/doc/sims/collision/Detector.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Eine Welt ermittelt ihre Kollisionen durch konkrete Implementierungen dieser Klasse.</dd></dl> + <dl><dd>A world detects its collisions through concrete implementations of this class.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -51,7 +51,7 @@ <em><a href="../../sims/collision/Detector.html#world" target="_self">world</a></em> : <a href="../../sims/dynamics/World.html" target="_self">World</a> - <div>Die Welt dessen Formen auf Kollisionen ueberprueft werden sollen.</div> + <div>The world whose shapes are to be checked for collisions.</div> </td> </tr> </table> @@ -65,7 +65,7 @@ <em><a href="../../sims/collision/Detector.html#collisions" target="_self">collisions</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/collision/Collision.html" target="_self">Collision</a>] - <div>Ergibt alle Kollisionen zwischen Formen der Welt <code>world</code>.</div> + <div>Returns all collisions between shapes in the world <code>world</code>.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -98,7 +98,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Die Welt dessen Formen auf Kollisionen ueberprueft werden sollen.</dd></dl> + <dl><dd>The world whose shapes are to be checked for collisions.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -112,7 +112,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt alle Kollisionen zwischen Formen der Welt <code>world</code>.</dd></dl> + <dl><dd>Returns all collisions between shapes in the world <code>world</code>.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/collision/GridDetector.html b/doc/sims/collision/GridDetector.html index 43dc1f6..9007d31 100644 --- a/doc/sims/collision/GridDetector.html +++ b/doc/sims/collision/GridDetector.html @@ -33,8 +33,8 @@ </dt> <dd><code> extends </code><a href="../../sims/collision/Detector.html" target="_self">Detector</a></dd> </dl> - <dl><dd>Eine konkrete Implementierung von <code>Detector</code>. <code>GridDetector</code> ermittelt
- alle Kollisionen mit einem Gittersystem.</dd></dl> + <dl><dd>A conrete implementation of <code>Detector</code>. <code>GridDetector</code> divides the world into a grid
+ for faster collision detection.</dd></dl> <dl></dl> @@ -49,7 +49,7 @@ <em><a href="../../sims/collision/GridDetector.html#collisionMethods" target="_self">collisionMethods</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/ArrayBuffer">scala.collection.mutable.ArrayBuffer</a>[<a href="" target="contentFrame" class="scala/PartialFunction">scala.PartialFunction</a>[(<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>, <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>), <a href="../../sims/collision/Collision.html" target="_self">Collision</a>]] - <div>Array von Kollisionsmethoden fuer Formenpaare.</div> + <div>Array of methods returning collisions. It is assumed that both shapes are colliding.</div> </td> </tr> <tr> @@ -60,7 +60,7 @@ <em><a href="../../sims/collision/GridDetector.html#detectionMethods" target="_self">detectionMethods</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/ArrayBuffer">scala.collection.mutable.ArrayBuffer</a>[<a href="" target="contentFrame" class="scala/PartialFunction">scala.PartialFunction</a>[(<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>, <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>), <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>]] - <div>Array von Kollisionserkennungsmethoden fuer Formenpaare.</div> + <div>Array of collision detection methods. These methods return <code>true</code> if two shapes are colliding.</div> </td> </tr> <tr> @@ -71,7 +71,7 @@ <em><a href="../../sims/collision/GridDetector.html#gridSide" target="_self">gridSide</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Breite und Hoehe einer Gitterzelle.</div> + <div>Width and height of a grid cell.</div> </td> </tr> </table> @@ -85,7 +85,7 @@ <em><a href="../../sims/collision/GridDetector.html#colliding%28sims.collision.Pair%29" target="_self">colliding</a></em> (<em>p</em> : <a href="../../sims/collision/Pair.html" target="_self">Pair</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Gibt an, ob das Formenpaar <code>p</code> kollidiert.</div> + <div>Checks the pair of shapes <code>p</code> for collision.</div> </td> </tr> <tr> @@ -96,7 +96,7 @@ <em><a href="../../sims/collision/GridDetector.html#collidingPairs" target="_self">collidingPairs</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/collision/Pair.html" target="_self">Pair</a>] - <div>Ergibt alle kollidierenden Paare.</div> + <div>Returns all colliding pairs.</div> </td> </tr> <tr> @@ -107,7 +107,7 @@ <em><a href="../../sims/collision/GridDetector.html#collision%28sims.collision.Pair%29" target="_self">collision</a></em> (<em>p</em> : <a href="../../sims/collision/Pair.html" target="_self">Pair</a>) : <a href="../../sims/collision/Collision.html" target="_self">Collision</a> - <div>Gibt die Kollision des Formenpaares <code>p</code> zurueck.</div> + <div>Returns the collision between both shapes of the pair <code>p</code>.</div> </td> </tr> <tr> @@ -118,7 +118,7 @@ <em><a href="../../sims/collision/GridDetector.html#collisions" target="_self">collisions</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/collision/Collision.html" target="_self">Collision</a>] - <div>Ergibt alle Kollisionen.</div> + <div>Returns all collisions.</div> </td> </tr> <tr> @@ -129,7 +129,7 @@ <em><a href="../../sims/collision/GridDetector.html#getPairs" target="_self">getPairs</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/collision/Pair.html" target="_self">Pair</a>] - <div>Ergibt potenzielle Kollisionspaare der Welt <code>world</code>.</div> + <div>Returns potential colliding pairs of shapes of the world <code>world</code>.</div> </td> </tr> <tr> @@ -140,7 +140,7 @@ <em><a href="../../sims/collision/GridDetector.html#pairs" target="_self">pairs</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/collision/Pair.html" target="_self">Pair</a>] - <div>Alle potentiellen Kollisionspaare der Welt.</div> + <div>All potential colliding pairs of the world.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -173,7 +173,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Array von Kollisionserkennungsmethoden fuer Formenpaare.</dd></dl> + <dl><dd>Array of collision detection methods. These methods return <code>true</code> if two shapes are colliding.</dd></dl> <dl></dl> <hr></hr> <a name="collisionMethods"></a><dl> @@ -185,7 +185,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Array von Kollisionsmethoden fuer Formenpaare.</dd></dl> + <dl><dd>Array of methods returning collisions. It is assumed that both shapes are colliding.</dd></dl> <dl></dl> <hr></hr> <a name="gridSide"></a><dl> @@ -197,7 +197,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Breite und Hoehe einer Gitterzelle.</dd></dl> + <dl><dd>Width and height of a grid cell.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -211,9 +211,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt an, ob das Formenpaar <code>p</code> kollidiert.</dd></dl> + <dl><dd>Checks the pair of shapes <code>p</code> for collision.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>p - </code>Formenpaar.</dd></dl> + <b>Parameters</b></dt><dd><code>p - </code>Pair of shapes.</dd></dl> <hr></hr> <a name="collision%28sims.collision.Pair%29"></a><dl> <dt> @@ -224,9 +224,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt die Kollision des Formenpaares <code>p</code> zurueck.</dd></dl> + <dl><dd>Returns the collision between both shapes of the pair <code>p</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>p - </code>Formenpaar.</dd></dl> + <b>Parameters</b></dt><dd><code>p - </code>Pair of shapes.</dd></dl> <hr></hr> <a name="getPairs"></a><dl> <dt> @@ -237,15 +237,15 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt potenzielle Kollisionspaare der Welt <code>world</code>.
+ <dl><dd>Returns potential colliding pairs of shapes of the world <code>world</code>.
<p>
- Ein Kollisionspaar ist ein Paar aus zwei verschiedenen Formen, das folgenden Bedingungen unterliegt:
+ A potential colliding pair is a pair of two shapes that comply with the following criteria:
<ul>
- <li>Die Formen muessen sich in der gleichen Gitterzelle befinden.</li>
- <li>Ihre AABBs muessen sich ueberlappen.</li>
- <li>Die Formen duerfen nicht von dem gleichen Koerper sein.</li>
- <li>Mindestens eine Form darf nicht Fixiert sein.</li>
- <li>Beide muessen {@link dynamics.Shape#collidable collidierbar} sein.</li>
+ <li>The shapes are situated in the same grid cell.</li>
+ <li>Their AABBs overlap.</li>
+ <li>The shapes do not belong to the same body.</li>
+ <li>At least one shape is not fixed.</li>
+ <li>Both shapes are {@link dynamics.Shape#collidable}.</li>
</ul></dd></dl> <dl></dl> <hr></hr> @@ -258,7 +258,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Alle potentiellen Kollisionspaare der Welt.</dd></dl> + <dl><dd>All potential colliding pairs of the world.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> <b>See Also</b></dt><dd>getPairs</dd></dl> <hr></hr> @@ -271,7 +271,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt alle kollidierenden Paare.</dd></dl> + <dl><dd>Returns all colliding pairs.</dd></dl> <dl></dl> <hr></hr> <a name="collisions"></a><dl> @@ -283,7 +283,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt alle Kollisionen.</dd></dl> + <dl><dd>Returns all collisions.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/collision/Pair.html b/doc/sims/collision/Pair.html index 15b53bf..e210fc9 100644 --- a/doc/sims/collision/Pair.html +++ b/doc/sims/collision/Pair.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code>(<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>, <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>)</dd> </dl> - <dl><dd>Formenpaar.</dd></dl> + <dl><dd>Pair of shapes.</dd></dl> <dl></dl> <table summary="" cellpadding="3" class="member"> diff --git a/doc/sims/collision/PolyCircleCollision.html b/doc/sims/collision/PolyCircleCollision.html index eb30399..3b1d094 100644 --- a/doc/sims/collision/PolyCircleCollision.html +++ b/doc/sims/collision/PolyCircleCollision.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="../../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Kollision zwischen einem konvexen Polygon und einem Kreis.</dd></dl> + <dl><dd>Collision between a convex polygon and a circle.</dd></dl> <dl></dl> @@ -48,7 +48,7 @@ <em><a href="../../sims/collision/PolyCircleCollision.html#normal" target="_self">normal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normalenvektor zu der Kollisionsebene.</div> + <div>Normal vector to the collision face.</div> </td> </tr> <tr> @@ -59,7 +59,7 @@ <em><a href="../../sims/collision/PolyCircleCollision.html#points" target="_self">points</a></em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Kollisionspunkte.</div> + <div>Collision points.</div> </td> </tr> <tr> @@ -70,7 +70,7 @@ <em><a href="../../sims/collision/PolyCircleCollision.html#shape1" target="_self">shape1</a></em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> - <div>Erste Kollisionsform (Referenz).</div> + <div>First colliding shape (reference shape).</div> </td> </tr> <tr> @@ -81,7 +81,7 @@ <em><a href="../../sims/collision/PolyCircleCollision.html#shape2" target="_self">shape2</a></em> : <a href="../../sims/dynamics/Circle.html" target="_self">Circle</a> - <div>Zweite Kollisionsform (eindringend).</div> + <div>Second colliding shape (incident shape).</div> </td> </tr> </table> @@ -191,7 +191,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erste Kollisionsform (Referenz).</dd></dl> + <dl><dd>First colliding shape (reference shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -210,7 +210,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zweite Kollisionsform (eindringend).</dd></dl> + <dl><dd>Second colliding shape (incident shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -229,7 +229,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normalenvektor zu der Kollisionsebene.</dd></dl> + <dl><dd>Normal vector to the collision face.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -248,7 +248,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionspunkte.</dd></dl> + <dl><dd>Collision points.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/collision/PolyCollision.html b/doc/sims/collision/PolyCollision.html index dbfe30b..9009f39 100644 --- a/doc/sims/collision/PolyCollision.html +++ b/doc/sims/collision/PolyCollision.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="../../sims/collision/Collision.html" target="_self">Collision</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Kollision zwischen zwei konvexen Polygonen.</dd></dl> + <dl><dd>Collision between two convex polygons.</dd></dl> <dl></dl> @@ -59,7 +59,7 @@ <em><a href="../../sims/collision/PolyCollision.html#normal" target="_self">normal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normalenvektor zu der Kollisionsebene.</div> + <div>Normal vector to the collision face.</div> </td> </tr> <tr> @@ -81,7 +81,7 @@ <em><a href="../../sims/collision/PolyCollision.html#points" target="_self">points</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Kollisionspunkte.</div> + <div>Collision points.</div> </td> </tr> <tr> @@ -92,7 +92,7 @@ <em><a href="../../sims/collision/PolyCollision.html#shape1" target="_self">shape1</a></em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> - <div>Erste Kollisionsform (Referenz).</div> + <div>First colliding shape (reference shape).</div> </td> </tr> <tr> @@ -103,7 +103,7 @@ <em><a href="../../sims/collision/PolyCollision.html#shape2" target="_self">shape2</a></em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> - <div>Zweite Kollisionsform (eindringend).</div> + <div>Second colliding shape (incident shape).</div> </td> </tr> </table> @@ -242,7 +242,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erste Kollisionsform (Referenz).</dd></dl> + <dl><dd>First colliding shape (reference shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -261,7 +261,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zweite Kollisionsform (eindringend).</dd></dl> + <dl><dd>Second colliding shape (incident shape).</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -280,7 +280,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normalenvektor zu der Kollisionsebene.</dd></dl> + <dl><dd>Normal vector to the collision face.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -299,7 +299,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionspunkte.</dd></dl> + <dl><dd>Collision points.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/dynamics$content.html b/doc/sims/dynamics$content.html index 256ead8..8cbd40c 100644 --- a/doc/sims/dynamics$content.html +++ b/doc/sims/dynamics$content.html @@ -13,7 +13,7 @@ <em><a href="../sims/dynamics/Body.html" target="_self">Body</a></em> (<em>shps</em> : <a href="../sims/dynamics/Shape.html" target="_self">Shape</a>*)<code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Ein 2-Dimensionaler Koerper besteht aus mehreren Formen. Im gegensatz zu letzteren, enthaelt ein Koerper dynamische Informationen (v, F, etc...).</div> + <div>A two dimensional rigid body is made out of shapes.</div> </td> </tr> <tr> @@ -24,7 +24,7 @@ <em><a href="../sims/dynamics/Circle.html" target="_self">Circle</a></em> (<code>val </code><em>radius</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>density</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Circle ist die Definition eines Kreises.</div> + <div>A circle.</div> </td> </tr> <tr> @@ -35,9 +35,9 @@ <em><a href="../sims/dynamics/Constraint.html" target="_self">Constraint</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Randbedingungen erben von dem Trait <code>Constraint</code>.
- Fuer jeden Constraint koennen Position und Geschwindigkeit korrigiert werden.
- Ihre Implementierung wurde von Erin Catto's box2d inspiriert.</div> + <div>All constraints in SiMS implement this trait.
+ Position and velocity can be corrected for each constraint.
+ The implementation of constraints was inspired by Erin Catto's box2d.</div> </td> </tr> <tr> @@ -48,7 +48,7 @@ <em><a href="../sims/dynamics/Rectangle.html" target="_self">Rectangle</a></em> (<code>val </code><em>halfWidth</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>halfHeight</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>density</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Rechteck ist eine Art Polygon.</div> + <div>A rectangle is a polygon.</div> </td> </tr> <tr> @@ -59,7 +59,7 @@ <em><a href="../sims/dynamics/RegularPolygon.html" target="_self">RegularPolygon</a></em> (<code>val </code><em>n</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>, <code>val </code><em>radius</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>density</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Ein regelmaessiges Polygon mit <code>n</code> Seiten, dass der Kreis mit radius <code>radius</code> umschreibt.</div> + <div>A regular polygon with <code>n</code> sides whose excircle has a radius <code>radius</code>.</div> </td> </tr> <tr> @@ -70,7 +70,7 @@ <em><a href="../sims/dynamics/Shape.html" target="_self">Shape</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Eine abstrakte Form.</div> + <div>An abstract shape.</div> </td> </tr> <tr> @@ -81,7 +81,7 @@ <em><a href="../sims/dynamics/World.html" target="_self">World</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Eine Welt enthaelt und Simuliert ein System aus Koerpern und Verbindungen.</div> + <div>A world contains and simulates a system of rigid bodies and joints.</div> </td> </tr> </table> diff --git a/doc/sims/dynamics/Body.html b/doc/sims/dynamics/Body.html index 7ac6091..4bacab2 100644 --- a/doc/sims/dynamics/Body.html +++ b/doc/sims/dynamics/Body.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Ein 2-Dimensionaler Koerper besteht aus mehreren Formen. Im gegensatz zu letzteren, enthaelt ein Koerper dynamische Informationen (v, F, etc...).</dd></dl> + <dl><dd>A two dimensional rigid body is made out of shapes.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>shps - </code>zu dem Koerper gehoerende Formen.</dd></dl> + <b>Parameters</b></dt><dd><code>shps - </code>shapes that belong to this body.</dd></dl> @@ -49,7 +49,7 @@ <em><a href="../../sims/dynamics/Body.html#angularVelocity" target="_self">angularVelocity</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Winkelgeschwindigkeit dieses Koerpers.</div> + <div>Angular velocity of this body.</div> </td> </tr> <tr> @@ -60,7 +60,7 @@ <em><a href="../../sims/dynamics/Body.html#force" target="_self">force</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Resultierende Kraft auf den Schwerpunkt dieses Koerpers.</div> + <div>Resulting force on the COM of this body.</div> </td> </tr> <tr> @@ -71,7 +71,7 @@ <em><a href="../../sims/dynamics/Body.html#linearVelocity" target="_self">linearVelocity</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Lineargeschwindigkeit dieses Koerpers.</div> + <div>Linear velocity of this body.</div> </td> </tr> <tr> @@ -82,7 +82,7 @@ <em><a href="../../sims/dynamics/Body.html#monitor" target="_self">monitor</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Gibt an ob die Eigenschaften dieses Koerpers ueberwacht werden sollen.</div> + <div>Flag for a world to monitor the properties of this body.</div> </td> </tr> <tr> @@ -93,7 +93,7 @@ <em><a href="../../sims/dynamics/Body.html#shapes" target="_self">shapes</a></em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>] - <div>Formen aus denen dieser Koerper besteht.</div> + <div>Shapes that belong to this body.</div> </td> </tr> <tr> @@ -104,7 +104,7 @@ <em><a href="../../sims/dynamics/Body.html#torque" target="_self">torque</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Resultierender Drehmoment zu dem Schwerpunkt dieses Koerpers.</div> + <div>Resulting torque on this body.</div> </td> </tr> <tr> @@ -115,7 +115,7 @@ <em><a href="../../sims/dynamics/Body.html#uid" target="_self">uid</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> - <div>Einzigartige Identifikationsnummer dieses Koerpers.</div> + <div>Unique identification number.</div> </td> </tr> </table> @@ -129,7 +129,9 @@ <em><a href="../../sims/dynamics/Body.html#I" target="_self">I</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt den Traegheitsmoment zu dem Schwerpunkt dieses Koerpers. Der Traegheitsmoment wird mit Hilfe des Steinerschen Satzes errechnet.</div> + <div>Returns the moment of inertia for rotations about the COM of this body.
+ It is calculated using the moments of inertia of this body's shapes and the parallel axis theorem.
+ If the body is fixed, its moment of inertia is infinite (<code>Double.PositiveInfinity</code>).</div> </td> </tr> <tr> @@ -137,21 +139,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/Body.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a></em> - (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - - <div>Erstellt einen neuen Koerper der zusaetzlich die Form <code>s</code> enthaelt.</div> - </td> - </tr> -<tr> - <td class="modifiers" valign="top"> - <code> def</code> - </td> - <td class="signature"> - <em><a href="../../sims/dynamics/Body.html#%5E%28sims.dynamics.Body%29" target="_self">^</a></em> - (<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em><a href="../../sims/dynamics/Body.html#applyForce%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29" target="_self">applyForce</a></em> + (<em>force</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Erstellt einen neuen Koerper der zusaetzlich die Formen von dem Koerper <code>b</code> enthaelt.</div> + <div>Applies a force to a point on this body. Warning: the point is considered to be contained within this body.</div> </td> </tr> <tr> @@ -162,7 +153,7 @@ <em><a href="../../sims/dynamics/Body.html#applyForce%28sims.geometry.Vector2D%29" target="_self">applyForce</a></em> (<em>force</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Wendet eine Kraft auf den Schwerpunkt dieses Koerpers an.</div> + <div>Applies a force to the COM of this body.</div> </td> </tr> <tr> @@ -170,11 +161,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/Body.html#applyForce%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29" target="_self">applyForce</a></em> - (<em>force</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em><a href="../../sims/dynamics/Body.html#applyImpulse%28sims.geometry.Vector2D%29" target="_self">applyImpulse</a></em> + (<em>impulse</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Wendet eine Kraft auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses
- Koerpers ueberprueft.</div> + <div>Applies an impulse to the COM of this body.</div> </td> </tr> <tr> @@ -185,19 +175,7 @@ <em><a href="../../sims/dynamics/Body.html#applyImpulse%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29" target="_self">applyImpulse</a></em> (<em>impulse</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Wendet einen Impuls auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses
- Koerpers ueberprueft.</div> - </td> - </tr> -<tr> - <td class="modifiers" valign="top"> - <code> def</code> - </td> - <td class="signature"> - <em><a href="../../sims/dynamics/Body.html#applyImpulse%28sims.geometry.Vector2D%29" target="_self">applyImpulse</a></em> - (<em>impulse</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - - <div>Wendet einen Impuls auf den Schwerpunkt dieses Koerpers an.</div> + <div>Applies an impulse to a point on this body. Warning: the point is considered to be contained within this body.</div> </td> </tr> <tr> @@ -208,7 +186,7 @@ <em><a href="../../sims/dynamics/Body.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob der gegebene Punkt <code>point</code> sich in diesem Koerper befindet.</div> + <div>Checks if the point <code>point</code> is contained in this body.</div> </td> </tr> <tr> @@ -219,7 +197,7 @@ <em><a href="../../sims/dynamics/Body.html#fixed" target="_self">fixed</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Gibt an ob dieser Koerper fixiert ist.</div> + <div>Returns whether this body is fixed or not.</div> </td> </tr> <tr> @@ -230,7 +208,7 @@ <em><a href="../../sims/dynamics/Body.html#fixed_%3D%28Boolean%29" target="_self">fixed_=</a></em> (<em>value</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Fixiert oder unfixiert diesen Koerper.</div> + <div>Fixes or frees this body. By fixing, linear and angular velocities are set to zero.</div> </td> </tr> <tr> @@ -241,7 +219,8 @@ <em><a href="../../sims/dynamics/Body.html#mass" target="_self">mass</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt die Masse dieses Koerpers. Die Masse ist gleich die Summe aller Massen seiner Formen.</div> + <div>Returns the mass of this body. If the body is free, its mass is the sum of the masses of its shapes.
+ If the body is fixed, its mass is infinite (<code>Double.PositiveInfinity</code>).</div> </td> </tr> <tr> @@ -252,7 +231,7 @@ <em><a href="../../sims/dynamics/Body.html#pos" target="_self">pos</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ermittelt die Position dieses Koerpers. Die Position entspricht dem Schwerpunkt.</div> + <div>Returns the position of this body. The position is equivalent to the center of mass.</div> </td> </tr> <tr> @@ -263,7 +242,7 @@ <em><a href="../../sims/dynamics/Body.html#pos_%3D%28sims.geometry.Vector2D%29" target="_self">pos_=</a></em> (<em>newPos</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Setzt die Position dieses Koerpers und verschiebt dadurch die Positionen seiner Formen.</div> + <div>Sets the position of this body. By doing so all its shapes are translated.</div> </td> </tr> <tr> @@ -274,7 +253,7 @@ <em><a href="../../sims/dynamics/Body.html#rotation" target="_self">rotation</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt die aktuelle Rotation dieses Koerpers.</div> + <div>Returns the current rotation of this body.</div> </td> </tr> <tr> @@ -285,7 +264,7 @@ <em><a href="../../sims/dynamics/Body.html#rotation_%3D%28Double%29" target="_self">rotation_=</a></em> (<em>newRotation</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Setzt die Rotation dieses Koerpers. Dazu werden auch die Positionen und Rotationen seiner Formen entsprechend veraendert.</div> + <div>Sets the rotation of this body. Position and rotation of shapes are modified accordingly.</div> </td> </tr> <tr> @@ -307,7 +286,29 @@ <em><a href="../../sims/dynamics/Body.html#velocityOfPoint%28sims.geometry.Vector2D%29" target="_self">velocityOfPoint</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Lineargeschwindigkeit des gegebenen Punktes auf diesem Koerper. In Weltkoordinaten.</div> + <div>Linear velocity of the given point on this body (in world coordinates).</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../sims/dynamics/Body.html#%7E%28sims.dynamics.Body%29" target="_self">~</a></em> + (<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>Creates a new body containing this body's shapes and the shapes of another body <code>b</code>.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../sims/dynamics/Body.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a></em> + (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>Creates a new body containing this body's shapes and the shape <code>s</code>.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -340,7 +341,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Einzigartige Identifikationsnummer dieses Koerpers.</dd></dl> + <dl><dd>Unique identification number.</dd></dl> <dl></dl> <hr></hr> <a name="shapes"></a><dl> @@ -352,7 +353,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Formen aus denen dieser Koerper besteht.</dd></dl> + <dl><dd>Shapes that belong to this body.</dd></dl> <dl></dl> <hr></hr> <a name="monitor"></a><dl> @@ -364,7 +365,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt an ob die Eigenschaften dieses Koerpers ueberwacht werden sollen.</dd></dl> + <dl><dd>Flag for a world to monitor the properties of this body.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> <b>See Also</b></dt><dd><a href="../../sims/dynamics/World.html#monitors" target="_self">World#monitors</a></dd></dl> <hr></hr> @@ -377,7 +378,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Lineargeschwindigkeit dieses Koerpers.</dd></dl> + <dl><dd>Linear velocity of this body.</dd></dl> <dl></dl> <hr></hr> <a name="angularVelocity"></a><dl> @@ -389,7 +390,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Winkelgeschwindigkeit dieses Koerpers.</dd></dl> + <dl><dd>Angular velocity of this body.</dd></dl> <dl></dl> <hr></hr> <a name="force"></a><dl> @@ -401,7 +402,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Resultierende Kraft auf den Schwerpunkt dieses Koerpers.</dd></dl> + <dl><dd>Resulting force on the COM of this body.</dd></dl> <dl></dl> <hr></hr> <a name="torque"></a><dl> @@ -413,7 +414,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Resultierender Drehmoment zu dem Schwerpunkt dieses Koerpers.</dd></dl> + <dl><dd>Resulting torque on this body.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -427,7 +428,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt an ob dieser Koerper fixiert ist.</dd></dl> + <dl><dd>Returns whether this body is fixed or not.</dd></dl> <dl></dl> <hr></hr> <a name="fixed_%3D%28Boolean%29"></a><dl> @@ -439,7 +440,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Fixiert oder unfixiert diesen Koerper.</dd></dl> + <dl><dd>Fixes or frees this body. By fixing, linear and angular velocities are set to zero.</dd></dl> <dl></dl> <hr></hr> <a name="pos"></a><dl> @@ -451,9 +452,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ermittelt die Position dieses Koerpers. Die Position entspricht dem Schwerpunkt.</dd></dl> + <dl><dd>Returns the position of this body. The position is equivalent to the center of mass.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Position dieses Koerpers</dd></dl> + <b>Returns</b></dt><dd>position of this body</dd></dl> <hr></hr> <a name="pos_%3D%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -464,9 +465,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Setzt die Position dieses Koerpers und verschiebt dadurch die Positionen seiner Formen.</dd></dl> + <dl><dd>Sets the position of this body. By doing so all its shapes are translated.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>newPos - </code>neue Position</dd></dl> + <b>Parameters</b></dt><dd><code>newPos - </code>new position</dd></dl> <hr></hr> <a name="rotation"></a><dl> <dt> @@ -477,9 +478,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die aktuelle Rotation dieses Koerpers.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>aktuelle Rotation dieses Koerpers</dd></dl> + <dl><dd>Returns the current rotation of this body.</dd></dl> + <dl></dl> <hr></hr> <a name="rotation_%3D%28Double%29"></a><dl> <dt> @@ -490,9 +490,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Setzt die Rotation dieses Koerpers. Dazu werden auch die Positionen und Rotationen seiner Formen entsprechend veraendert.</dd></dl> + <dl><dd>Sets the rotation of this body. Position and rotation of shapes are modified accordingly.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>r - </code>neue Rotation</dd></dl> + <b>Parameters</b></dt><dd><code>r - </code>new rotation</dd></dl> <hr></hr> <a name="velocityOfPoint%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -503,7 +503,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Lineargeschwindigkeit des gegebenen Punktes auf diesem Koerper. In Weltkoordinaten.</dd></dl> + <dl><dd>Linear velocity of the given point on this body (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="mass"></a><dl> @@ -515,9 +515,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Masse dieses Koerpers. Die Masse ist gleich die Summe aller Massen seiner Formen.</dd></dl> + <dl><dd>Returns the mass of this body. If the body is free, its mass is the sum of the masses of its shapes.
+ If the body is fixed, its mass is infinite (<code>Double.PositiveInfinity</code>).</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Masse des Koerpers</dd></dl> + <b>Returns</b></dt><dd>this body's mass</dd></dl> <hr></hr> <a name="I"></a><dl> <dt> @@ -528,9 +529,11 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt den Traegheitsmoment zu dem Schwerpunkt dieses Koerpers. Der Traegheitsmoment wird mit Hilfe des Steinerschen Satzes errechnet.</dd></dl> + <dl><dd>Returns the moment of inertia for rotations about the COM of this body.
+ It is calculated using the moments of inertia of this body's shapes and the parallel axis theorem.
+ If the body is fixed, its moment of inertia is infinite (<code>Double.PositiveInfinity</code>).</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Traegheitsmoment relativ zu dem Schwerpunkt dieses Koerpers</dd></dl> + <b>Returns</b></dt><dd>moment of inertia for rotations about the COM of this body</dd></dl> <hr></hr> <a name="applyForce%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -541,9 +544,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Wendet eine Kraft auf den Schwerpunkt dieses Koerpers an.</dd></dl> + <dl><dd>Applies a force to the COM of this body.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>force - </code>anzuwendender Kraftvektor</dd></dl> + <b>Parameters</b></dt><dd><code>force - </code>applied force</dd></dl> <hr></hr> <a name="applyForce%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29"></a><dl> <dt> @@ -554,10 +557,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Wendet eine Kraft auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses
- Koerpers ueberprueft.</dd></dl> + <dl><dd>Applies a force to a point on this body. Warning: the point is considered to be contained within this body.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>force - </code>anzuwendender Kraftvektor</dd><dd><code>point - </code>Ortsvektor des Punktes auf den die Kraft wirken soll (gegeben in Weltkoordinaten).</dd></dl> + <b>Parameters</b></dt><dd><code>force - </code>applied force</dd><dd><code>point - </code>position vector of the point (in world coordinates)</dd></dl> <hr></hr> <a name="applyImpulse%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -568,9 +570,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Wendet einen Impuls auf den Schwerpunkt dieses Koerpers an.</dd></dl> + <dl><dd>Applies an impulse to the COM of this body.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>impulse - </code>anzuwendender Impulsvektor</dd></dl> + <b>Parameters</b></dt><dd><code>impulse - </code>applied impulse</dd></dl> <hr></hr> <a name="applyImpulse%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29"></a><dl> <dt> @@ -581,10 +583,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Wendet einen Impuls auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses
- Koerpers ueberprueft.</dd></dl> + <dl><dd>Applies an impulse to a point on this body. Warning: the point is considered to be contained within this body.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>impulse - </code>anzuwendender Impulsvektor</dd><dd><code>point - </code>Ortsvektor des Punktes auf den der Impuls wirken soll (gegeben in Weltkoordinaten).</dd></dl> + <b>Parameters</b></dt><dd><code>impulse - </code>applied impulse</dd><dd><code>point - </code>position vector of the point (in world coordinates)</dd></dl> <hr></hr> <a name="contains%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -595,7 +596,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob der gegebene Punkt <code>point</code> sich in diesem Koerper befindet.</dd></dl> + <dl><dd>Checks if the point <code>point</code> is contained in this body.</dd></dl> <dl></dl> <hr></hr> <a name="toString%28%29"></a><dl> @@ -613,33 +614,33 @@ <dl><dt style="margin:10px 0 0 20px;"> <b>Returns</b></dt><dd>a string representation of the object. </p></dd></dl> <hr></hr> -<a name="%5E%28sims.dynamics.Shape%29"></a><dl> +<a name="%7E%28sims.dynamics.Shape%29"></a><dl> <dt> <code></code> <code>def</code> - <em>^</em>(<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em>~</em>(<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> </dt> <dd></dd> </dl> - <dl><dd>Erstellt einen neuen Koerper der zusaetzlich die Form <code>s</code> enthaelt.</dd></dl> + <dl><dd>Creates a new body containing this body's shapes and the shape <code>s</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>s - </code>zusaetzliche Form</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>neuer Koerper</dd></dl> + <b>Parameters</b></dt><dd><code>s - </code>new shape</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>new body</dd></dl> <hr></hr> -<a name="%5E%28sims.dynamics.Body%29"></a><dl> +<a name="%7E%28sims.dynamics.Body%29"></a><dl> <dt> <code></code> <code>def</code> - <em>^</em>(<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em>~</em>(<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> </dt> <dd></dd> </dl> - <dl><dd>Erstellt einen neuen Koerper der zusaetzlich die Formen von dem Koerper <code>b</code> enthaelt.</dd></dl> + <dl><dd>Creates a new body containing this body's shapes and the shapes of another body <code>b</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>b - </code>Koerper mit zusaetzlichen Formen</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>neuer Koerper</dd></dl> + <b>Parameters</b></dt><dd><code>b - </code>body with extra shapes</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>new body</dd></dl> <hr></hr></div> diff --git a/doc/sims/dynamics/Circle.html b/doc/sims/dynamics/Circle.html index d6807a8..f5a1655 100644 --- a/doc/sims/dynamics/Circle.html +++ b/doc/sims/dynamics/Circle.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="../../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Circle ist die Definition eines Kreises.</dd></dl> + <dl><dd>A circle.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>radius - </code>Radius dieses Kreises</dd><dd><code>density - </code>Dichte dieses Kreises</dd></dl> + <b>Parameters</b></dt><dd><code>radius - </code>radius of this circle</dd><dd><code>density - </code>density of this circle</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> <dd><a href="../../graphyx/graphics/GraphicalCircle.html" target="_self">GraphicalCircle</a></dd> @@ -52,7 +52,7 @@ <em><a href="../../sims/dynamics/Circle.html#I" target="_self">I</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</div> + <div>Moment of inertia for a rotation about this shape's COM.</div> </td> </tr> <tr> @@ -63,7 +63,8 @@ <em><a href="../../sims/dynamics/Circle.html#volume" target="_self">volume</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</div> + <div>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -71,7 +72,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -84,7 +85,7 @@ <em><a href="../../sims/dynamics/Circle.html#AABB" target="_self">AABB</a></em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a> - <div>Gibt das umfassende AABB dieser Form zurueck.</div> + <div>Returns this shape's axis aligned bounding box.</div> </td> </tr> <tr> @@ -95,7 +96,7 @@ <em><a href="../../sims/dynamics/Circle.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.</div> + <div>Checks if the point <code>point</code> is contained in this shape.</div> </td> </tr> <tr> @@ -162,8 +163,7 @@ <em><a href="../../sims/dynamics/Circle.html#project%28sims.geometry.Vector2D%29" target="_self">project</a></em> (<em>axis</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a> - <div>Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code>.</div> + <div>Returns the projection of this shape onto the line given by the directional vector <code>axis</code>.</div> </td> </tr> <tr> @@ -182,7 +182,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> @@ -214,7 +214,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</dd></dl> + <dl><dd>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -233,9 +234,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Traegheitsmoment zum Schwerpunkt</dd></dl> + <dl><dd>Moment of inertia for a rotation about this shape's COM.</dd></dl> + <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -255,9 +255,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt das umfassende AABB dieser Form zurueck.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>umfassendes AABB</dd></dl> + <dl><dd>Returns this shape's axis aligned bounding box.</dd></dl> + <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -275,11 +274,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code>.</dd></dl> + <dl><dd>Returns the projection of this shape onto the line given by the directional vector <code>axis</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>axis - </code>Richtungsvektor der Geraden</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Projektion dieser Form</dd></dl> + <b>Parameters</b></dt><dd><code>axis - </code>directional vector of the line</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>projection of this shape</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -297,7 +295,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.</dd></dl> + <dl><dd>Checks if the point <code>point</code> is contained in this shape.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/dynamics/Constraint.html b/doc/sims/dynamics/Constraint.html index 556e5c3..570f522 100644 --- a/doc/sims/dynamics/Constraint.html +++ b/doc/sims/dynamics/Constraint.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Randbedingungen erben von dem Trait <code>Constraint</code>.
- Fuer jeden Constraint koennen Position und Geschwindigkeit korrigiert werden.
- Ihre Implementierung wurde von Erin Catto's box2d inspiriert.</dd></dl> + <dl><dd>All constraints in SiMS implement this trait.
+ Position and velocity can be corrected for each constraint.
+ The implementation of constraints was inspired by Erin Catto's box2d.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -54,7 +54,7 @@ <em><a href="../../sims/dynamics/Constraint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen entsprechen.</div> + <div>Corrects the positions of bodies according to this constraint.</div> </td> </tr> <tr> @@ -65,7 +65,7 @@ <em><a href="../../sims/dynamics/Constraint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen entsprechen.</div> + <div>Corrects the velocities of bodies according to this constraint.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -99,8 +99,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen entsprechen.</dd></dl> - <dl></dl> + <dl><dd>Corrects the velocities of bodies according to this constraint.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Parameters</b></dt><dd><code>h - </code>a time interval, used for converting forces and impulses</dd></dl> <hr></hr> <a name="correctPosition%28Double%29"></a><dl> <dt> @@ -111,8 +112,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen entsprechen.</dd></dl> - <dl></dl> + <dl><dd>Corrects the positions of bodies according to this constraint.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Parameters</b></dt><dd><code>h - </code>a time interval, used for converting forces and impulses</dd></dl> <hr></hr></div> diff --git a/doc/sims/dynamics/Rectangle.html b/doc/sims/dynamics/Rectangle.html index a002d40..df238de 100644 --- a/doc/sims/dynamics/Rectangle.html +++ b/doc/sims/dynamics/Rectangle.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="../../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="../../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Rechteck ist eine Art Polygon.</dd></dl> + <dl><dd>A rectangle is a polygon.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>halfWidth - </code>halbe Breite dieses Rechtecks</dd><dd><code>halfHeight - </code>halbe Hoehe dieses Rechtecks</dd><dd><code>density - </code>dichte dieses Rechtecks</dd></dl> + <b>Parameters</b></dt><dd><code>halfWidth - </code>this rectangle's half width</dd><dd><code>halfHeight - </code>this rectangle's half height</dd><dd><code>density - </code>density of this rectangle</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> <dd><a href="../../graphyx/graphics/GraphicalRectangle.html" target="_self">GraphicalRectangle</a></dd> @@ -52,7 +52,7 @@ <em><a href="../../sims/dynamics/Rectangle.html#I" target="_self">I</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</div> + <div>Moment of inertia for a rotation about this shape's COM.</div> </td> </tr> <tr> @@ -63,7 +63,8 @@ <em><a href="../../sims/dynamics/Rectangle.html#volume" target="_self">volume</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</div> + <div>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -71,7 +72,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -96,9 +97,9 @@ <em><a href="../../sims/dynamics/Rectangle.html#halfDiags" target="_self">halfDiags</a></em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Ergibt Vektoren vom Zentrum dieses Rectecks bis zu den Ecken.
- Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0.
- Folgende Ecken sind gegen den Uhrzeigersinn geordnet.</div> + <div>Returns the vectors from the center to the vertices of this rectangle.
+ The first vertex is the upper-right vertex at a rotation of 0.
+ Vertices are ordered counter-clockwise.</div> </td> </tr> <tr> @@ -164,9 +165,9 @@ <em><a href="../../sims/dynamics/Rectangle.html#vertices" target="_self">vertices</a></em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Ergibt die Ortsvektoren der Ecken dieses Rechtecks.
- Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0.
- Folgende Ecken sind gegen den Uhrzeigersinn geordnet.</div> + <div>Returns the position vectors of this rectangle's vertices.
+ The first vertex is the upper-right vertex at a rotation of 0.
+ Vertices are ordered counter-clockwise.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -181,7 +182,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> @@ -213,7 +214,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</dd></dl> + <dl><dd>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -232,9 +234,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Traegheitsmoment zum Schwerpunkt</dd></dl> + <dl><dd>Moment of inertia for a rotation about this shape's COM.</dd></dl> + <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -254,11 +255,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt Vektoren vom Zentrum dieses Rectecks bis zu den Ecken.
- Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0.
- Folgende Ecken sind gegen den Uhrzeigersinn geordnet.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Vektoren vom Zentrum dieses Rectecks bis zu den Ecken</dd></dl> + <dl><dd>Returns the vectors from the center to the vertices of this rectangle.
+ The first vertex is the upper-right vertex at a rotation of 0.
+ Vertices are ordered counter-clockwise.</dd></dl> + <dl></dl> <hr></hr> <a name="vertices"></a><dl> <dt> @@ -269,11 +269,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Ortsvektoren der Ecken dieses Rechtecks.
- Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0.
- Folgende Ecken sind gegen den Uhrzeigersinn geordnet.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Ortsvektoren der Ecken dieses Rechtecks</dd></dl> + <dl><dd>Returns the position vectors of this rectangle's vertices.
+ The first vertex is the upper-right vertex at a rotation of 0.
+ Vertices are ordered counter-clockwise.</dd></dl> + <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> diff --git a/doc/sims/dynamics/RegularPolygon.html b/doc/sims/dynamics/RegularPolygon.html index 764f13c..e691f51 100644 --- a/doc/sims/dynamics/RegularPolygon.html +++ b/doc/sims/dynamics/RegularPolygon.html @@ -33,9 +33,10 @@ </dt> <dd><code> extends </code><a href="../../sims/dynamics/Shape.html" target="_self">Shape</a><code> with </code><a href="../../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Ein regelmaessiges Polygon mit <code>n</code> Seiten, dass der Kreis mit radius <code>radius</code> umschreibt.</dd></dl> + <dl><dd>A regular polygon with <code>n</code> sides whose excircle has a radius <code>radius</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>n - </code>Anzahl der Seiten.</dd><dd><code>radius - </code>Radius des umschreibenden Kreises.</dd><dd><code>density - </code>Dichte.</dd></dl> + <b>Parameters</b></dt><dd><code>n - </code>nmber of sides.</dd><dd><code>radius - </code>radius of the excircle</dd><dd><code>density - </code>density of this regular polygon</dd><dt style="margin:10px 0 0 20px;"> + <b>Throws</b></dt><dd><code>IllegalArgumentException - </code>if <code>n</code> is smaller than 3</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> <dd><a href="../../graphyx/graphics/GraphicalRegularPolygon.html" target="_self">GraphicalRegularPolygon</a></dd> @@ -52,7 +53,7 @@ <em><a href="../../sims/dynamics/RegularPolygon.html#I" target="_self">I</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</div> + <div>Moment of inertia for a rotation about this shape's COM.</div> </td> </tr> <tr> @@ -63,7 +64,8 @@ <em><a href="../../sims/dynamics/RegularPolygon.html#volume" target="_self">volume</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</div> + <div>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -71,7 +73,7 @@ Values and Variables inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> + <a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a>, <a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a>, <a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a>, <a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a>, <a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a>, <a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a>, <a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a>, <a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a>, <a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a> </td></tr> </table> <table summary="" cellpadding="3" class="member"> @@ -162,7 +164,7 @@ <em><a href="../../sims/dynamics/RegularPolygon.html#vertices" target="_self">vertices</a></em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Ergibt Position aller Ecken dieses Polygons. Die Ecken sind gegen den Uhrzeigersinn folgend.</div> + <div>Returns positions of all vertices of this Polygon. Vertices are ordered counter-clockwise.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -177,7 +179,7 @@ Methods inherited from <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a> </td></tr> <tr><td class="signature" colspan="2"> - <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a>, <a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a> + <a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a>, <a href="../../sims/dynamics/Shape.html#body" target="_self">body</a>, <a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a>, <a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a> </td></tr> </table><table summary="" cellpadding="3" class="inherited"> <tr><td class="title" colspan="2"> @@ -209,7 +211,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</dd></dl> + <dl><dd>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -228,9 +231,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Traegheitsmoment zum Schwerpunkt</dd></dl> + <dl><dd>Moment of inertia for a rotation about this shape's COM.</dd></dl> + <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> @@ -259,9 +261,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt Position aller Ecken dieses Polygons. Die Ecken sind gegen den Uhrzeigersinn folgend.</dd></dl> + <dl><dd>Returns positions of all vertices of this Polygon. Vertices are ordered counter-clockwise.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Ortsvektoren der Ecken</dd></dl> + <b>Returns</b></dt><dd>position vectors of the vertices</dd></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> diff --git a/doc/sims/dynamics/Shape.html b/doc/sims/dynamics/Shape.html index c62245d..f769f9b 100644 --- a/doc/sims/dynamics/Shape.html +++ b/doc/sims/dynamics/Shape.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Eine abstrakte Form.</dd></dl> + <dl><dd>An abstract shape.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -51,18 +51,7 @@ <em><a href="../../sims/dynamics/Shape.html#I" target="_self">I</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</div> - </td> - </tr> -<tr> - <td class="modifiers" valign="top"> - <code> var</code> - </td> - <td class="signature"> - <em><a href="../../sims/dynamics/Shape.html#body" target="_self">body</a></em> - : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - - <div>Beinhaltender Koerper. Sollte nicht selbst bei Initialisierung definiert werden.</div> + <div>Moment of inertia for a rotation about this shape's COM.</div> </td> </tr> <tr> @@ -73,7 +62,7 @@ <em><a href="../../sims/dynamics/Shape.html#collidable" target="_self">collidable</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Kollisionsfaehigkeit.</div> + <div>Flag determining this shapes ability to collide with other shapes.</div> </td> </tr> <tr> @@ -84,7 +73,7 @@ <em><a href="../../sims/dynamics/Shape.html#density" target="_self">density</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Dichte. (Masse pro Flaeche)</div> + <div>Density. (Mass per area)</div> </td> </tr> <tr> @@ -95,8 +84,8 @@ <em><a href="../../sims/dynamics/Shape.html#friction" target="_self">friction</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Teil des Reibungskoeffizienten bei einer Kollision zwischen dieser Form und einer anderen.
- Der Reibungskoeffizient wird aus dem Produkt der beiden Teile der Formen errechnet.</div> + <div>Part of the coefficient of friction for a collision between this shape and another.
+ The coefficient of friction is calculated out of the product of this part and the other shape's part.</div> </td> </tr> <tr> @@ -107,7 +96,7 @@ <em><a href="../../sims/dynamics/Shape.html#pos" target="_self">pos</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Position des Schwerpunktes in Welt.</div> + <div>Position of this shape's COM (in world coordinates).</div> </td> </tr> <tr> @@ -118,7 +107,7 @@ <em><a href="../../sims/dynamics/Shape.html#refLocalPos" target="_self">refLocalPos</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.</div> + <div>Local position of this shape's body COM to its COM at a body rotation of zero.</div> </td> </tr> <tr> @@ -129,8 +118,8 @@ <em><a href="../../sims/dynamics/Shape.html#restitution" target="_self">restitution</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Teil der Stosszahl bei einer Kollision zwischen dieser Form und einer anderen.
- Die Stosszahl wird aus dem Produkt der beiden Teile der Formen errechnet.</div> + <div>Part of the coefficient of restitution for a collision between this shape and another.
+ The coefficient of restitution is calculated out of the product of this part and the other shape's part.</div> </td> </tr> <tr> @@ -141,7 +130,7 @@ <em><a href="../../sims/dynamics/Shape.html#rotation" target="_self">rotation</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Rotation. Entspricht Laenge des Rotationsvektors.</div> + <div>Rotation of this shape about its COM.</div> </td> </tr> <tr> @@ -152,7 +141,7 @@ <em><a href="../../sims/dynamics/Shape.html#rotation0" target="_self">rotation0</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Initiale Rotation. (Rotation ohne Koerper)</div> + <div>Initial rotation. Rotation of this shape before it was added to a body.</div> </td> </tr> <tr> @@ -163,7 +152,7 @@ <em><a href="../../sims/dynamics/Shape.html#transientShapes" target="_self">transientShapes</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/Set">scala.collection.mutable.Set</a>[<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>] - <div>Formen mit denen diese Form nicht Kollidiert.</div> + <div>Shapes with which this shape cannot collide.</div> </td> </tr> <tr> @@ -174,7 +163,7 @@ <em><a href="../../sims/dynamics/Shape.html#uid" target="_self">uid</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> - <div>Einzigartige Identifikationsnummer.</div> + <div>Unique identification number.</div> </td> </tr> <tr> @@ -185,7 +174,8 @@ <em><a href="../../sims/dynamics/Shape.html#volume" target="_self">volume</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</div> + <div>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</div> </td> </tr> </table> @@ -199,7 +189,7 @@ <em><a href="../../sims/dynamics/Shape.html#AABB" target="_self">AABB</a></em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a> - <div>Gibt das umfassende AABB dieser Form zurueck.</div> + <div>Returns this shape's axis aligned bounding box.</div> </td> </tr> <tr> @@ -207,21 +197,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Body%29" target="_self">^</a></em> - (<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - - <div>Erstellt einen Koerper aus dieser Form und den Formen des Koerpers <code>b</code>.</div> - </td> - </tr> -<tr> - <td class="modifiers" valign="top"> - <code> def</code> - </td> - <td class="signature"> - <em><a href="../../sims/dynamics/Shape.html#%5E%28sims.dynamics.Shape%29" target="_self">^</a></em> - (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em><a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a></em> + : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - <div>Erstellt einen Koerper aus dieser Form und der Form <code>s</code>.</div> + <div>Creates a new body made out of tis shape.</div> </td> </tr> <tr> @@ -229,10 +208,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a></em> + <em><a href="../../sims/dynamics/Shape.html#body" target="_self">body</a></em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - <div>Baut einen Koerper aus dieser Form.</div> + <div>Returns this shape's containing body.</div> </td> </tr> <tr> @@ -243,7 +222,7 @@ <em><a href="../../sims/dynamics/Shape.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.</div> + <div>Checks if the point <code>point</code> is contained in this shape.</div> </td> </tr> <tr> @@ -254,7 +233,7 @@ <em><a href="../../sims/dynamics/Shape.html#mass" target="_self">mass</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte.</div> + <div>Returns the mass of this shape. The mass is given by volume times density.</div> </td> </tr> <tr> @@ -265,8 +244,29 @@ <em><a href="../../sims/dynamics/Shape.html#project%28sims.geometry.Vector2D%29" target="_self">project</a></em> (<em>axis</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a> - <div>Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code>.</div> + <div>Returns the projection of this shape onto the line given by the directional vector <code>axis</code>.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Body%29" target="_self">~</a></em> + (<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>Creates a new body out of this shape and the shapes of body <code>b</code>.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../sims/dynamics/Shape.html#%7E%28sims.dynamics.Shape%29" target="_self">~</a></em> + (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>Creates a new body out of this shape and the shape <code>s</code>.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -299,7 +299,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Einzigartige Identifikationsnummer.</dd></dl> + <dl><dd>Unique identification number.</dd></dl> <dl></dl> <hr></hr> <a name="collidable"></a><dl> @@ -311,7 +311,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionsfaehigkeit.</dd></dl> + <dl><dd>Flag determining this shapes ability to collide with other shapes.</dd></dl> <dl></dl> <hr></hr> <a name="restitution"></a><dl> @@ -323,8 +323,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Teil der Stosszahl bei einer Kollision zwischen dieser Form und einer anderen.
- Die Stosszahl wird aus dem Produkt der beiden Teile der Formen errechnet.</dd></dl> + <dl><dd>Part of the coefficient of restitution for a collision between this shape and another.
+ The coefficient of restitution is calculated out of the product of this part and the other shape's part.</dd></dl> <dl></dl> <hr></hr> <a name="friction"></a><dl> @@ -336,8 +336,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Teil des Reibungskoeffizienten bei einer Kollision zwischen dieser Form und einer anderen.
- Der Reibungskoeffizient wird aus dem Produkt der beiden Teile der Formen errechnet.</dd></dl> + <dl><dd>Part of the coefficient of friction for a collision between this shape and another.
+ The coefficient of friction is calculated out of the product of this part and the other shape's part.</dd></dl> <dl></dl> <hr></hr> <a name="pos"></a><dl> @@ -349,7 +349,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Position des Schwerpunktes in Welt.</dd></dl> + <dl><dd>Position of this shape's COM (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="rotation"></a><dl> @@ -361,7 +361,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Rotation. Entspricht Laenge des Rotationsvektors.</dd></dl> + <dl><dd>Rotation of this shape about its COM.</dd></dl> <dl></dl> <hr></hr> <a name="rotation0"></a><dl> @@ -373,7 +373,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Initiale Rotation. (Rotation ohne Koerper)</dd></dl> + <dl><dd>Initial rotation. Rotation of this shape before it was added to a body.</dd></dl> <dl></dl> <hr></hr> <a name="refLocalPos"></a><dl> @@ -385,7 +385,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.</dd></dl> + <dl><dd>Local position of this shape's body COM to its COM at a body rotation of zero.</dd></dl> <dl></dl> <hr></hr> <a name="density"></a><dl> @@ -397,7 +397,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Dichte. (Masse pro Flaeche)</dd></dl> + <dl><dd>Density. (Mass per area)</dd></dl> <dl></dl> <hr></hr> <a name="volume"></a><dl> @@ -409,7 +409,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</dd></dl> + <dl><dd>Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D)
+ and is used with this shape's density to calculate its mass.</dd></dl> <dl></dl> <hr></hr> <a name="I"></a><dl> @@ -421,20 +422,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet Traegheitsmoment zum Schwerpunkt dieser Form.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Traegheitsmoment zum Schwerpunkt</dd></dl> - <hr></hr> -<a name="body"></a><dl> - <dt> - - <code></code> - <code>var</code> - <em>body</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> - </dt> - <dd></dd> - </dl> - <dl><dd>Beinhaltender Koerper. Sollte nicht selbst bei Initialisierung definiert werden.</dd></dl> + <dl><dd>Moment of inertia for a rotation about this shape's COM.</dd></dl> <dl></dl> <hr></hr> <a name="transientShapes"></a><dl> @@ -446,7 +434,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Formen mit denen diese Form nicht Kollidiert.</dd></dl> + <dl><dd>Shapes with which this shape cannot collide.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -460,9 +448,21 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte.</dd></dl> + <dl><dd>Returns the mass of this shape. The mass is given by volume times density.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Masse der Form</dd></dl> + <b>Returns</b></dt><dd>mass of this shape</dd></dl> + <hr></hr> +<a name="body"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>body</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Returns this shape's containing body.</dd></dl> + <dl></dl> <hr></hr> <a name="AABB"></a><dl> <dt> @@ -473,9 +473,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Gibt das umfassende AABB dieser Form zurueck.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>umfassendes AABB</dd></dl> + <dl><dd>Returns this shape's axis aligned bounding box.</dd></dl> + <dl></dl> <hr></hr> <a name="project%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -486,11 +485,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code>.</dd></dl> + <dl><dd>Returns the projection of this shape onto the line given by the directional vector <code>axis</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>axis - </code>Richtungsvektor der Geraden</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Projektion dieser Form</dd></dl> + <b>Parameters</b></dt><dd><code>axis - </code>directional vector of the line</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>projection of this shape</dd></dl> <hr></hr> <a name="contains%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -501,7 +499,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.</dd></dl> + <dl><dd>Checks if the point <code>point</code> is contained in this shape.</dd></dl> <dl></dl> <hr></hr> <a name="asBody"></a><dl> @@ -513,32 +511,32 @@ </dt> <dd></dd> </dl> - <dl><dd>Baut einen Koerper aus dieser Form.</dd></dl> + <dl><dd>Creates a new body made out of tis shape.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>ein Koerper bestehend aus dieser Form.</dd></dl> + <b>Returns</b></dt><dd>a body made out of tis shape</dd></dl> <hr></hr> -<a name="%5E%28sims.dynamics.Shape%29"></a><dl> +<a name="%7E%28sims.dynamics.Shape%29"></a><dl> <dt> <code></code> <code>def</code> - <em>^</em>(<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em>~</em>(<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> </dt> <dd></dd> </dl> - <dl><dd>Erstellt einen Koerper aus dieser Form und der Form <code>s</code>.</dd></dl> + <dl><dd>Creates a new body out of this shape and the shape <code>s</code>.</dd></dl> <dl></dl> <hr></hr> -<a name="%5E%28sims.dynamics.Body%29"></a><dl> +<a name="%7E%28sims.dynamics.Body%29"></a><dl> <dt> <code></code> <code>def</code> - <em>^</em>(<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> + <em>~</em>(<em>b</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../sims/dynamics/Body.html" target="_self">Body</a> </dt> <dd></dd> </dl> - <dl><dd>Erstellt einen Koerper aus dieser Form und den Formen des Koerpers <code>b</code>.</dd></dl> + <dl><dd>Creates a new body out of this shape and the shapes of body <code>b</code>.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/dynamics/World.html b/doc/sims/dynamics/World.html index f9b0217..d089cd9 100644 --- a/doc/sims/dynamics/World.html +++ b/doc/sims/dynamics/World.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Eine Welt enthaelt und Simuliert ein System aus Koerpern und Verbindungen.</dd></dl> + <dl><dd>A world contains and simulates a system of rigid bodies and joints.</dd></dl> <dl></dl> @@ -48,7 +48,7 @@ <em><a href="../../sims/dynamics/World.html#bodies" target="_self">bodies</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/ArrayBuffer">scala.collection.mutable.ArrayBuffer</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>] - <div>Alle Koerper die diese Welt simuliert.</div> + <div>Bodies contained in this world.</div> </td> </tr> <tr> @@ -59,7 +59,7 @@ <em><a href="../../sims/dynamics/World.html#detector" target="_self">detector</a></em> : <a href="../../sims/collision/Detector.html" target="_self">Detector</a> - <div>Kollisionsdetektor dieser Welt.</div> + <div>Collsion detector who manages collision detection in this world.</div> </td> </tr> <tr> @@ -70,7 +70,7 @@ <em><a href="../../sims/dynamics/World.html#enableCollisionDetection" target="_self">enableCollisionDetection</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Kollisionerkennung.</div> + <div>Flag to enable collision detection.</div> </td> </tr> <tr> @@ -81,7 +81,7 @@ <em><a href="../../sims/dynamics/World.html#enablePositionCorrection" target="_self">enablePositionCorrection</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Positionskorrekturen.</div> + <div>Flag to enable position correction for constraints.</div> </td> </tr> <tr> @@ -92,7 +92,7 @@ <em><a href="../../sims/dynamics/World.html#gravity" target="_self">gravity</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Schwerkraft die in dieser Welt herrscht.</div> + <div>Gravity in this world.</div> </td> </tr> <tr> @@ -103,7 +103,7 @@ <em><a href="../../sims/dynamics/World.html#iterations" target="_self">iterations</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> - <div>Anzahl der Constraint-Korrekturen pro Zeitschritt.</div> + <div>Number of constraint corrections per time step.</div> </td> </tr> <tr> @@ -114,7 +114,7 @@ <em><a href="../../sims/dynamics/World.html#joints" target="_self">joints</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/ArrayBuffer">scala.collection.mutable.ArrayBuffer</a>[<a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>] - <div>Alle Verbindungen die diese Welt simuliert.</div> + <div>Joints contained in this world.</div> </td> </tr> <tr> @@ -125,7 +125,7 @@ <em><a href="../../sims/dynamics/World.html#minAngularVelocity" target="_self">minAngularVelocity</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Die minimale, nicht als null geltende Winkelgeschwindigkeit.</div> + <div>Minimal, non-zero angular velocity.</div> </td> </tr> <tr> @@ -136,7 +136,7 @@ <em><a href="../../sims/dynamics/World.html#minLinearVelocity" target="_self">minLinearVelocity</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Die minimale, nicht als null geltende Geschwindigkeit.</div> + <div>Minimal, non-zero linear velocity.</div> </td> </tr> <tr> @@ -147,7 +147,7 @@ <em><a href="../../sims/dynamics/World.html#monitors" target="_self">monitors</a></em> : <a href="" target="contentFrame" class="scala/collection/mutable/ArrayBuffer">scala.collection.mutable.ArrayBuffer</a>[(<a href="" target="contentFrame" class="java/lang/String">java.lang.String</a>, (<a href="../../sims/dynamics/Body.html" target="_self">Body</a>) => <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a>)] - <div>Ueberwachungsfunktionen fuer Koerper.</div> + <div>Monitoring methods for bodies.</div> </td> </tr> <tr> @@ -158,7 +158,7 @@ <em><a href="../../sims/dynamics/World.html#overCWarning" target="_self">overCWarning</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Warnung wenn Koerper schneller als Lichtgeschwindigkeit.</div> + <div>Warning if a body's velocity exceeds the speed of light.</div> </td> </tr> <tr> @@ -169,7 +169,7 @@ <em><a href="../../sims/dynamics/World.html#time" target="_self">time</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Aktuelle Zeit in Sekunden dieser Welt. Nach jedem Zeitschritt wird die Zeit erhoeht.</div> + <div>Current time in this world.</div> </td> </tr> <tr> @@ -180,7 +180,7 @@ <em><a href="../../sims/dynamics/World.html#timeStep" target="_self">timeStep</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Zeitschritt in dem diese Welt die Simulation vorranschreiten laesst.</div> + <div>Time intervals in which this world simulates.</div> </td> </tr> </table> @@ -194,7 +194,7 @@ <em><a href="../../sims/dynamics/World.html#%2B%2B%3D%28Seq%5Bsims.dynamics.Body%5D%29" target="_self">++=</a></em> (<em>bs</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>]) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - + <div>Adds the given sequence of bodies to this world.</div> </td> </tr> <tr> @@ -202,10 +202,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.prefabs.Prefab%29" target="_self">+=</a></em> - (<em>p</em> : <a href="../../sims/prefabs/Prefab.html" target="_self">Prefab</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.dynamics.Body%29" target="_self">+=</a></em> + (<em>body</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Fuegt dieser Welt ein vorangefertigtes System vaus Koerpern und Verbindungen hinzu.</div> + <div>Adds the given body to this world.</div> </td> </tr> <tr> @@ -213,10 +213,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.dynamics.joints.Joint%29" target="_self">+=</a></em> - (<em>joint</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.prefabs.Prefab%29" target="_self">+=</a></em> + (<em>p</em> : <a href="../../sims/prefabs/Prefab.html" target="_self">Prefab</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Fuegt dieser Welt eine Verbindung hinzu.</div> + <div>Adds the given prefabricated system of bodies and joints to this world.</div> </td> </tr> <tr> @@ -224,10 +224,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.dynamics.Body%29" target="_self">+=</a></em> - (<em>body</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em><a href="../../sims/dynamics/World.html#%2B%3D%28sims.dynamics.joints.Joint%29" target="_self">+=</a></em> + (<em>joint</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Fuegt dieser Welt einen Koerper hinzu.</div> + <div>Adds the given joint to this world.</div> </td> </tr> <tr> @@ -238,7 +238,7 @@ <em><a href="../../sims/dynamics/World.html#--%3D%28Seq%5Bsims.dynamics.Body%5D%29" target="_self">--=</a></em> (<em>bs</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>]) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - + <div>Removes the given sequence of bodies from this world.</div> </td> </tr> <tr> @@ -249,7 +249,7 @@ <em><a href="../../sims/dynamics/World.html#-%3D%28sims.prefabs.Prefab%29" target="_self">-=</a></em> (<em>p</em> : <a href="../../sims/prefabs/Prefab.html" target="_self">Prefab</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Entfernt das gegebene System aus Koerpern und Verbindungen aus dieser Welt.</div> + <div>Removes the given prefabricated system of bodies and joints from this world.</div> </td> </tr> <tr> @@ -260,7 +260,7 @@ <em><a href="../../sims/dynamics/World.html#-%3D%28sims.dynamics.Body%29" target="_self">-=</a></em> (<em>body</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Entfernt den gegebenen Koerper aus dieser Welt.</div> + <div>Removes the given body from this world.</div> </td> </tr> <tr> @@ -271,7 +271,7 @@ <em><a href="../../sims/dynamics/World.html#-%3D%28sims.dynamics.joints.Joint%29" target="_self">-=</a></em> (<em>joint</em> : <a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Entfernt die gegebene Verbindung aus dieser Welt.</div> + <div>Removes the given joint from this world.</div> </td> </tr> <tr> @@ -282,7 +282,7 @@ <em><a href="../../sims/dynamics/World.html#clear%28%29" target="_self">clear</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Entfernt alle Koerper, Verbindungen und Ueberwachungsfunktionen dieser Welt.</div> + <div>Removes all bodies, joints and monitoring methods from this world.</div> </td> </tr> <tr> @@ -293,7 +293,7 @@ <em><a href="../../sims/dynamics/World.html#info" target="_self">info</a></em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> - <div>Ergibt Informationen ueber diese Welt.</div> + <div>Returns information about this world.</div> </td> </tr> <tr> @@ -304,7 +304,8 @@ <em><a href="../../sims/dynamics/World.html#postStep%28%29" target="_self">postStep</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Wird nach jedem Zeitschritt ausgefuehrt.</div> + <div>Initially empty method that is executed after each time step. This method
+ may be overriden to create custom behaviour in a world.</div> </td> </tr> <tr> @@ -315,7 +316,7 @@ <em><a href="../../sims/dynamics/World.html#shapes" target="_self">shapes</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>] - <div>Ergibt alle Formen aus allen Koerpern in dieser Welt.</div> + <div>Returns all shapes of all bodies in this world.</div> </td> </tr> <tr> @@ -326,9 +327,7 @@ <em><a href="../../sims/dynamics/World.html#step%28%29" target="_self">step</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Simuliert einen von <code>timeStep</code> angegebenen Zeitschritt.
- Ihre Aufgabe ist es die Koerper dieser Welt so zu simulieren wie diese sich in einer Welt mit den gegebenen
- Bedingungen verhalten wuerden.</div> + <div>Simulates a time step of the duration <code>timeStep</code>.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -361,7 +360,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zeitschritt in dem diese Welt die Simulation vorranschreiten laesst.</dd></dl> + <dl><dd>Time intervals in which this world simulates.</dd></dl> <dl></dl> <hr></hr> <a name="iterations"></a><dl> @@ -373,7 +372,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Anzahl der Constraint-Korrekturen pro Zeitschritt.</dd></dl> + <dl><dd>Number of constraint corrections per time step.</dd></dl> <dl></dl> <hr></hr> <a name="gravity"></a><dl> @@ -385,7 +384,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Schwerkraft die in dieser Welt herrscht.</dd></dl> + <dl><dd>Gravity in this world.</dd></dl> <dl></dl> <hr></hr> <a name="bodies"></a><dl> @@ -397,7 +396,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Alle Koerper die diese Welt simuliert.</dd></dl> + <dl><dd>Bodies contained in this world.</dd></dl> <dl></dl> <hr></hr> <a name="joints"></a><dl> @@ -409,7 +408,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Alle Verbindungen die diese Welt simuliert.</dd></dl> + <dl><dd>Joints contained in this world.</dd></dl> <dl></dl> <hr></hr> <a name="monitors"></a><dl> @@ -421,9 +420,12 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberwachungsfunktionen fuer Koerper.
+ <dl><dd>Monitoring methods for bodies.
<p>
- Das erste Element des Tuples ist die Ueberschrift und das zweite Element, der Wert.</dd></dl> + The first element of the tuple is the method's title and the second the method.
+ Example usage: monitors += ("Y-Position", _.pos.y.toString)
+ This will calculate all bodies - whose <code>monitor</code> field is set to
+ <code>true</code> - second position components.</dd></dl> <dl></dl> <hr></hr> <a name="detector"></a><dl> @@ -435,7 +437,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionsdetektor dieser Welt.</dd></dl> + <dl><dd>Collsion detector who manages collision detection in this world.</dd></dl> <dl></dl> <hr></hr> <a name="overCWarning"></a><dl> @@ -447,7 +449,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Warnung wenn Koerper schneller als Lichtgeschwindigkeit.</dd></dl> + <dl><dd>Warning if a body's velocity exceeds the speed of light.</dd></dl> <dl></dl> <hr></hr> <a name="enableCollisionDetection"></a><dl> @@ -459,7 +461,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kollisionerkennung.</dd></dl> + <dl><dd>Flag to enable collision detection.</dd></dl> <dl></dl> <hr></hr> <a name="enablePositionCorrection"></a><dl> @@ -471,7 +473,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Positionskorrekturen.</dd></dl> + <dl><dd>Flag to enable position correction for constraints.</dd></dl> <dl></dl> <hr></hr> <a name="minLinearVelocity"></a><dl> @@ -483,7 +485,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Die minimale, nicht als null geltende Geschwindigkeit.</dd></dl> + <dl><dd>Minimal, non-zero linear velocity.</dd></dl> <dl></dl> <hr></hr> <a name="minAngularVelocity"></a><dl> @@ -495,7 +497,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Die minimale, nicht als null geltende Winkelgeschwindigkeit.</dd></dl> + <dl><dd>Minimal, non-zero angular velocity.</dd></dl> <dl></dl> <hr></hr> <a name="time"></a><dl> @@ -507,7 +509,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Aktuelle Zeit in Sekunden dieser Welt. Nach jedem Zeitschritt wird die Zeit erhoeht.</dd></dl> + <dl><dd>Current time in this world.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -521,7 +523,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt alle Formen aus allen Koerpern in dieser Welt.</dd></dl> + <dl><dd>Returns all shapes of all bodies in this world.</dd></dl> <dl></dl> <hr></hr> <a name="%2B%3D%28sims.dynamics.Body%29"></a><dl> @@ -533,7 +535,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Fuegt dieser Welt einen Koerper hinzu.</dd></dl> + <dl><dd>Adds the given body to this world.</dd></dl> <dl></dl> <hr></hr> <a name="%2B%3D%28sims.dynamics.joints.Joint%29"></a><dl> @@ -545,7 +547,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Fuegt dieser Welt eine Verbindung hinzu.</dd></dl> + <dl><dd>Adds the given joint to this world.</dd></dl> <dl></dl> <hr></hr> <a name="%2B%3D%28sims.prefabs.Prefab%29"></a><dl> @@ -557,7 +559,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Fuegt dieser Welt ein vorangefertigtes System vaus Koerpern und Verbindungen hinzu.</dd></dl> + <dl><dd>Adds the given prefabricated system of bodies and joints to this world.</dd></dl> <dl></dl> <hr></hr> <a name="%2B%2B%3D%28Seq%5Bsims.dynamics.Body%5D%29"></a><dl> @@ -568,7 +570,10 @@ <em>++=</em>(<em>bs</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>]) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> </dt> <dd></dd> - </dl><hr></hr> + </dl> + <dl><dd>Adds the given sequence of bodies to this world.</dd></dl> + <dl></dl> + <hr></hr> <a name="-%3D%28sims.dynamics.Body%29"></a><dl> <dt> @@ -578,7 +583,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Entfernt den gegebenen Koerper aus dieser Welt.</dd></dl> + <dl><dd>Removes the given body from this world.</dd></dl> <dl></dl> <hr></hr> <a name="-%3D%28sims.dynamics.joints.Joint%29"></a><dl> @@ -590,7 +595,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Entfernt die gegebene Verbindung aus dieser Welt.</dd></dl> + <dl><dd>Removes the given joint from this world.</dd></dl> <dl></dl> <hr></hr> <a name="-%3D%28sims.prefabs.Prefab%29"></a><dl> @@ -602,7 +607,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Entfernt das gegebene System aus Koerpern und Verbindungen aus dieser Welt.</dd></dl> + <dl><dd>Removes the given prefabricated system of bodies and joints from this world.</dd></dl> <dl></dl> <hr></hr> <a name="--%3D%28Seq%5Bsims.dynamics.Body%5D%29"></a><dl> @@ -613,7 +618,10 @@ <em>--=</em>(<em>bs</em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/dynamics/Body.html" target="_self">Body</a>]) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> </dt> <dd></dd> - </dl><hr></hr> + </dl> + <dl><dd>Removes the given sequence of bodies from this world.</dd></dl> + <dl></dl> + <hr></hr> <a name="clear%28%29"></a><dl> <dt> @@ -623,7 +631,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Entfernt alle Koerper, Verbindungen und Ueberwachungsfunktionen dieser Welt.</dd></dl> + <dl><dd>Removes all bodies, joints and monitoring methods from this world.</dd></dl> <dl></dl> <hr></hr> <a name="step%28%29"></a><dl> @@ -635,18 +643,16 @@ </dt> <dd></dd> </dl> - <dl><dd>Simuliert einen von <code>timeStep</code> angegebenen Zeitschritt.
- Ihre Aufgabe ist es die Koerper dieser Welt so zu simulieren wie diese sich in einer Welt mit den gegebenen
- Bedingungen verhalten wuerden.
+ <dl><dd>Simulates a time step of the duration <code>timeStep</code>.
<p>
- Der Zeitschritt wird in folgenden Phasen ausgefuehrt:
+ The time step is simulated in the following phases:
<ol>
- <li>Kraefte wirken auf die Koerper (z.B Schwerkraft, andere Kraftfaehige Objekte).</li>
- <li>Beschleunigungen werden integriert.</li>
- <li>Geschwindigkeiten werden korrigiert.</li>
- <li>Geschwindigkeiten werden integriert.</li>
- <li>Positionen werden korrigiert.</li>
- <li>Die Methode <code>postStep()</code> wird ausgefuehrt.</li>
+ <li>Forces are applied to bodies.</li>
+ <li>Accelerations are integrated.</li>
+ <li>Velocities are corrected.</li>
+ <li>Velocities are integrated.</li>
+ <li>Postions are corrected.</li>
+ <li>The method <code>postStep()</code> is executed.</li>
</ol></dd></dl> <dl></dl> <hr></hr> @@ -659,7 +665,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Wird nach jedem Zeitschritt ausgefuehrt.</dd></dl> + <dl><dd>Initially empty method that is executed after each time step. This method
+ may be overriden to create custom behaviour in a world.</dd></dl> <dl></dl> <hr></hr> <a name="info"></a><dl> @@ -671,7 +678,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt Informationen ueber diese Welt.</dd></dl> + <dl><dd>Returns information about this world.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/dynamics/joints$content.html b/doc/sims/dynamics/joints$content.html index 4652a21..141c3e3 100644 --- a/doc/sims/dynamics/joints$content.html +++ b/doc/sims/dynamics/joints$content.html @@ -13,7 +13,7 @@ <em><a href="../../sims/dynamics/joints/DistanceJoint.html" target="_self">DistanceJoint</a></em> (<code>val </code><em>node1</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor1</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>node2</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor2</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>DistanceJoints halten die Bindungspunkte auf ihren Bindungskoerpern bei einem konstanten Abstand.</div> + <div>DistanceJoints keep their connection points at a constant distance.</div> </td> </tr> <tr> @@ -24,7 +24,7 @@ <em><a href="../../sims/dynamics/joints/ForceJoint.html" target="_self">ForceJoint</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Eine Verbindung die Kraft auf ihre Bindungskoerper ausueben kann.</div> + <div>A joint which can apply a force to its anchor bodies, thus adding or removing energy to the system.</div> </td> </tr> <tr> @@ -35,8 +35,8 @@ <em><a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a></em> <code> extends </code><a href="../../sims/dynamics/Constraint.html" target="_self">Constraint</a><code> with </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Joints sind Verbindungen die die Bewegung zwischen zwei Koerpern einschraenken.
- Ihre Implementierung wurde von Erin Catto's box2d inspiriert.</div> + <div>Joints constrain the movement of two bodies.
+ Their implementation was inspired by Erin Catto's box2d.</div> </td> </tr> <tr> @@ -47,7 +47,9 @@ <em><a href="../../sims/dynamics/joints/RevoluteJoint.html" target="_self">RevoluteJoint</a></em> (<code>val </code><em>node1</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>node2</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Ein Gelenk, dass zwei Koerper an einem Punkt verbindet. Inspiriert von JBox2D.</div> + <div>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
+ bodies and not connected at their respective COMs.</div> </td> </tr> <tr> @@ -58,7 +60,7 @@ <em><a href="../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a></em> (<code>val </code><em>node1</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor1</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>node2</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor2</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>springConstant</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>initialLength</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="../../sims/dynamics/joints/ForceJoint.html" target="_self">ForceJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Eine Hooksche Feder.</div> + <div>A spring obeying Hooke's law.</div> </td> </tr> </table> diff --git a/doc/sims/dynamics/joints/DistanceJoint.html b/doc/sims/dynamics/joints/DistanceJoint.html index 80a0f2d..bae5f5d 100644 --- a/doc/sims/dynamics/joints/DistanceJoint.html +++ b/doc/sims/dynamics/joints/DistanceJoint.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>DistanceJoints halten die Bindungspunkte auf ihren Bindungskoerpern bei einem konstanten Abstand.</dd></dl> + <dl><dd>DistanceJoints keep their connection points at a constant distance.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>node1 - </code>erster Koerper der Verbindung</dd><dd><code>anchor1 - </code>Bindungspunkt auf Koerper eins</dd><dd><code>node2 - </code>zweiter Koerper der Verbindung</dd><dd><code>anchor2 - </code>Bindungspunkt auf Koerper zwei</dd></dl> + <b>Parameters</b></dt><dd><code>node1 - </code>first associated body</dd><dd><code>anchor1 - </code>first connection point</dd><dd><code>node2 - </code>second associated body</dd><dd><code>anchor2 - </code>second connection point</dd></dl> <table summary="" cellpadding="3" class="member"> <tr><td class="title" colspan="2">Additional Constructor Summary</td></tr> @@ -62,7 +62,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#distance" target="_self">distance</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Abstand der beiden Bindungspunkte bei initialisierung (der gewollte Abstand).</div> + <div>Distance between the two connection points at initialisation (the desired distance).</div> </td> </tr> </table> @@ -76,7 +76,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#connection1" target="_self">connection1</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ergibt den Bindungspunkt auf Koerper eins.</div> + <div>Returns the connection point on body one (in world coordinates).</div> </td> </tr> <tr> @@ -87,7 +87,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#connection2" target="_self">connection2</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ergibt den Bindungspunkt auf Koerper zwei.</div> + <div>Returns the connection point on body two (in world coordinates).</div> </td> </tr> <tr> @@ -98,7 +98,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the positions of this joint's associated bodies.</div> </td> </tr> <tr> @@ -109,7 +109,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the velocities of this joint's associated bodies.</div> </td> </tr> <tr> @@ -187,7 +187,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#v" target="_self">v</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Relative Geschwindigkeit der Bindungspunkte.</div> + <div>Relative velocity of the connection points.</div> </td> </tr> <tr> @@ -198,7 +198,7 @@ <em><a href="../../../sims/dynamics/joints/DistanceJoint.html#x" target="_self">x</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Relative Position der Bindungspunkte.</div> + <div>Relative position of the connection points.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -241,7 +241,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Abstand der beiden Bindungspunkte bei initialisierung (der gewollte Abstand).</dd></dl> + <dl><dd>Distance between the two connection points at initialisation (the desired distance).</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -255,7 +255,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt den Bindungspunkt auf Koerper eins.</dd></dl> + <dl><dd>Returns the connection point on body one (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="connection2"></a><dl> @@ -267,7 +267,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt den Bindungspunkt auf Koerper zwei.</dd></dl> + <dl><dd>Returns the connection point on body two (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="x"></a><dl> @@ -279,7 +279,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Relative Position der Bindungspunkte.</dd></dl> + <dl><dd>Relative position of the connection points.</dd></dl> <dl></dl> <hr></hr> <a name="v"></a><dl> @@ -291,7 +291,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Relative Geschwindigkeit der Bindungspunkte.</dd></dl> + <dl><dd>Relative velocity of the connection points.</dd></dl> <dl></dl> <hr></hr> <a name="correctVelocity%28Double%29"></a><dl> @@ -303,7 +303,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -322,7 +322,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/dynamics/joints/ForceJoint.html b/doc/sims/dynamics/joints/ForceJoint.html index bf8ac9f..58215b4 100644 --- a/doc/sims/dynamics/joints/ForceJoint.html +++ b/doc/sims/dynamics/joints/ForceJoint.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Eine Verbindung die Kraft auf ihre Bindungskoerper ausueben kann.</dd></dl> + <dl><dd>A joint which can apply a force to its anchor bodies, thus adding or removing energy to the system.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -52,7 +52,7 @@ <em><a href="../../../sims/dynamics/joints/ForceJoint.html#applyForce%28%29" target="_self">applyForce</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Uebt eine Kraft auf die Bindungskoerper aus.</div> + <div>Applies a force on the achor bodies.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -86,7 +86,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Uebt eine Kraft auf die Bindungskoerper aus.</dd></dl> + <dl><dd>Applies a force on the achor bodies.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/dynamics/joints/Joint.html b/doc/sims/dynamics/joints/Joint.html index a577cde..0e6908f 100644 --- a/doc/sims/dynamics/joints/Joint.html +++ b/doc/sims/dynamics/joints/Joint.html @@ -33,12 +33,12 @@ </dt> <dd><code> extends </code><a href="../../../sims/dynamics/Constraint.html" target="_self">Constraint</a><code> with </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Joints sind Verbindungen die die Bewegung zwischen zwei Koerpern einschraenken.
- Ihre Implementierung wurde von Erin Catto's box2d inspiriert.</dd></dl> + <dl><dd>Joints constrain the movement of two bodies.
+ Their implementation was inspired by Erin Catto's box2d.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> - <dd><a href="../../../sims/dynamics/joints/DistanceJoint.html" target="_self">DistanceJoint</a>, <a href="../../../sims/dynamics/joints/RevoluteJoint.html" target="_self">RevoluteJoint</a>, <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a></dd> + <dd><a href="../../../sims/dynamics/joints/DistanceJoint.html" target="_self">DistanceJoint</a>, <a href="../../../sims/dynamics/joints/RevoluteJoint.html" target="_self">RevoluteJoint</a>, <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a>, <a href="../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a>, <a href="../../../sims/dynamics/joints/test/UnitCircleJoint.html" target="_self">UnitCircleJoint</a></dd> </dl><hr></hr> @@ -52,7 +52,7 @@ <em><a href="../../../sims/dynamics/joints/Joint.html#node1" target="_self">node1</a></em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a> - <div>Erster Koerper der Verbindung.</div> + <div>First body of the joint.</div> </td> </tr> <tr> @@ -63,7 +63,7 @@ <em><a href="../../../sims/dynamics/joints/Joint.html#node2" target="_self">node2</a></em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a> - <div>Zweiter Koerper der Verbindung.</div> + <div>Second body of the joint.</div> </td> </tr> </table> @@ -77,7 +77,7 @@ <em><a href="../../../sims/dynamics/joints/Joint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the positions of this joint's associated bodies.</div> </td> </tr> <tr> @@ -88,7 +88,7 @@ <em><a href="../../../sims/dynamics/joints/Joint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the velocities of this joint's associated bodies.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -121,7 +121,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Erster Koerper der Verbindung.</dd></dl> + <dl><dd>First body of the joint.</dd></dl> <dl></dl> <hr></hr> <a name="node2"></a><dl> @@ -133,7 +133,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Zweiter Koerper der Verbindung.</dd></dl> + <dl><dd>Second body of the joint.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -147,7 +147,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -166,7 +166,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/dynamics/joints/RevoluteJoint.html b/doc/sims/dynamics/joints/RevoluteJoint.html index b3059de..5184b29 100644 --- a/doc/sims/dynamics/joints/RevoluteJoint.html +++ b/doc/sims/dynamics/joints/RevoluteJoint.html @@ -33,7 +33,9 @@ </dt> <dd><code> extends </code><a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Ein Gelenk, dass zwei Koerper an einem Punkt verbindet. Inspiriert von JBox2D.</dd></dl> + <dl><dd>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
+ bodies and not connected at their respective COMs.</dd></dl> <dl></dl> @@ -71,7 +73,7 @@ <em><a href="../../../sims/dynamics/joints/RevoluteJoint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the positions of this joint's associated bodies.</div> </td> </tr> <tr> @@ -82,7 +84,7 @@ <em><a href="../../../sims/dynamics/joints/RevoluteJoint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the velocities of this joint's associated bodies.</div> </td> </tr> <tr> @@ -241,7 +243,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -260,7 +262,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> diff --git a/doc/sims/dynamics/joints/SpringJoint.html b/doc/sims/dynamics/joints/SpringJoint.html index b361835..4819b16 100644 --- a/doc/sims/dynamics/joints/SpringJoint.html +++ b/doc/sims/dynamics/joints/SpringJoint.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="../../../sims/dynamics/joints/ForceJoint.html" target="_self">ForceJoint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Eine Hooksche Feder.</dd></dl> + <dl><dd>A spring obeying Hooke's law.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>node1 - </code>erster Koerper der Verbindung</dd><dd><code>anchor1 - </code>Bindungspunkt auf Koerper eins</dd><dd><code>node2 - </code>zweiter Koerper der Verbindung</dd><dd><code>anchor2 - </code>Bindungspunkt auf Koerper zwei</dd><dd><code>springConstant - </code>Federkonstante</dd><dd><code>initialLength - </code>Initiallaenge</dd></dl> + <b>Parameters</b></dt><dd><code>node1 - </code>first associated body</dd><dd><code>anchor1 - </code>first connection point</dd><dd><code>node2 - </code>second associated body</dd><dd><code>anchor2 - </code>second connection point</dd><dd><code>springConstant - </code>spring constant</dd><dd><code>initialLength - </code>initial length</dd></dl> <table summary="" cellpadding="3" class="member"> <tr><td class="title" colspan="2">Additional Constructor Summary</td></tr> @@ -44,8 +44,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../../sims/dynamics/joints/SpringJoint.html#this%28sims.dynamics.Body%2Csims.dynamics.Body%2CDouble%29" target="_self">this</a></em> - (<em>node1</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>springConstant</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a> + <em><a href="../../../sims/dynamics/joints/SpringJoint.html#this%28sims.dynamics.Body%2Csims.dynamics.Body%2CDouble%2CDouble%29" target="_self">this</a></em> + (<em>node1</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>springConstant</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <em>initialLength</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a> </td> @@ -66,8 +66,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../../sims/dynamics/joints/SpringJoint.html#this%28sims.dynamics.Body%2Csims.dynamics.Body%2CDouble%2CDouble%29" target="_self">this</a></em> - (<em>node1</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>springConstant</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <em>initialLength</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a> + <em><a href="../../../sims/dynamics/joints/SpringJoint.html#this%28sims.dynamics.Body%2Csims.dynamics.Body%2CDouble%29" target="_self">this</a></em> + (<em>node1</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>springConstant</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../../sims/dynamics/joints/SpringJoint.html" target="_self">SpringJoint</a> </td> @@ -84,7 +84,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#damping" target="_self">damping</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Daempfung.</div> + <div>Damping.</div> </td> </tr> </table> @@ -98,7 +98,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#applyForce%28%29" target="_self">applyForce</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Uebt die Federkraft auf die Bindungspunkte aus.</div> + <div>Applies the spring force to the connection points.</div> </td> </tr> <tr> @@ -109,7 +109,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#connection1" target="_self">connection1</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ergibt den Bindungspunkt auf Koerper eins.</div> + <div>Returns the connection point on body one (in world coordinates).</div> </td> </tr> <tr> @@ -120,7 +120,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#connection2" target="_self">connection2</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ergibt den Bindungspunkt auf Koerper zwei.</div> + <div>Returns the connection point on body two (in world coordinates).</div> </td> </tr> <tr> @@ -131,7 +131,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the positions of this joint's associated bodies.</div> </td> </tr> <tr> @@ -142,7 +142,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> - <div>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</div> + <div>Corrects the velocities of this joint's associated bodies.</div> </td> </tr> <tr> @@ -165,7 +165,7 @@ <em><a href="../../../sims/dynamics/joints/SpringJoint.html#force" target="_self">force</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt die Federkraft nach dem Hookschen Gesetz.</div> + <div>Returns the spring force.</div> </td> </tr> <tr> @@ -228,10 +228,21 @@ <code> def</code> </td> <td class="signature"> + <em><a href="../../../sims/dynamics/joints/SpringJoint.html#v" target="_self">v</a></em> + : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + <div>Relative velocity of the connection points.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> <em><a href="../../../sims/dynamics/joints/SpringJoint.html#x" target="_self">x</a></em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Relative Position der Bindungspunkte.</div> + <div>Relative position of the connection points.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -292,7 +303,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Daempfung.</dd></dl> + <dl><dd>Damping.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -306,7 +317,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt den Bindungspunkt auf Koerper eins.</dd></dl> + <dl><dd>Returns the connection point on body one (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="connection2"></a><dl> @@ -318,7 +329,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt den Bindungspunkt auf Koerper zwei.</dd></dl> + <dl><dd>Returns the connection point on body two (in world coordinates).</dd></dl> <dl></dl> <hr></hr> <a name="x"></a><dl> @@ -330,7 +341,19 @@ </dt> <dd></dd> </dl> - <dl><dd>Relative Position der Bindungspunkte.</dd></dl> + <dl><dd>Relative position of the connection points.</dd></dl> + <dl></dl> + <hr></hr> +<a name="v"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>v</em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Relative velocity of the connection points.</dd></dl> <dl></dl> <hr></hr> <a name="force"></a><dl> @@ -342,7 +365,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Federkraft nach dem Hookschen Gesetz.</dd></dl> + <dl><dd>Returns the spring force.</dd></dl> <dl></dl> <hr></hr> <a name="applyForce%28%29"></a><dl> @@ -354,7 +377,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Uebt die Federkraft auf die Bindungspunkte aus.</dd></dl> + <dl><dd>Applies the spring force to the connection points.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> @@ -364,42 +387,42 @@ <a href="../../../sims/dynamics/joints/ForceJoint.html" target="_self">ForceJoint</a>.<a href="../../../sims/dynamics/joints/ForceJoint.html#applyForce%28%29" target="_self">applyForce</a> </dd> </dl><hr></hr> -<a name="correctPosition%28Double%29"></a><dl> +<a name="correctVelocity%28Double%29"></a><dl> <dt> <code></code> <code>def</code> - <em>correctPosition</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em>correctVelocity</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> </dt> <dd> - <a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../sims/dynamics/joints/Joint.html#correctPosition%28Double%29" target="_self">correctPosition</a> + <a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../sims/dynamics/joints/Joint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a> </dd> </dl><hr></hr> -<a name="correctVelocity%28Double%29"></a><dl> +<a name="correctPosition%28Double%29"></a><dl> <dt> <code></code> <code>def</code> - <em>correctVelocity</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + <em>correctPosition</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> </dt> <dd></dd> </dl> - <dl><dd>Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.</dd></dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"> <b>Overrides</b> </dt> <dd> - <a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../sims/dynamics/joints/Joint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a> + <a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../sims/dynamics/joints/Joint.html#correctPosition%28Double%29" target="_self">correctPosition</a> </dd> </dl><hr></hr> <a name="hashCode%28%29"></a><dl> diff --git a/doc/sims/dynamics/joints/test$content.html b/doc/sims/dynamics/joints/test$content.html new file mode 100644 index 0000000..6509725 --- /dev/null +++ b/doc/sims/dynamics/joints/test$content.html @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>All classes and objects in sims.dynamics.joints.test</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../script.js"></script> + </head> + <body onload="init()"><div class="page-title"><div>Simple Mechanics Simulator (SiMS) API</div></div><p><div>This document is the API specification for SiMS</div></p><table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Class Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code>case class</code> + </td> + <td class="signature"> + <em><a href="../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a></em> + (<code>val </code><em>node1</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor1</em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>node2</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor2</em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> class</code> + </td> + <td class="signature"> + <em><a href="../../../sims/dynamics/joints/test/UnitCircleJoint.html" target="_self">UnitCircleJoint</a></em> + (<em>body</em> : <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>anchor</em> : <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a> + + + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Object Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> object</code> + </td> + <td class="signature"> + <em><a href="../../../sims/dynamics/joints/test/PrismaticJoint$object.html" target="_self">PrismaticJoint</a></em> + <code> extends </code>(<a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <a href="../../../sims/dynamics/Body.html" target="_self">Body</a>, <a href="../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) => <a href="../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a> + + + </td> + </tr> + </table></body> + </html>
\ No newline at end of file diff --git a/doc/sims/dynamics/joints/test$package.html b/doc/sims/dynamics/joints/test$package.html new file mode 100644 index 0000000..b34f98d --- /dev/null +++ b/doc/sims/dynamics/joints/test$package.html @@ -0,0 +1,17 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>List of classes and objects in package sims.dynamics.joints.test</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../script.js"></script> + </head> + <body onload="init()"><table summary="" class="navigation"> + <tr><td class="navigation-links" valign="top"> + <a href="../../../sims/dynamics/joints/test$content.html" target="contentFrame">sims.dynamics.joints.test</a> + </td></tr> + </table><div><div class="kinds" id="Classes">Classes</div><ul class="list"> + <li id="Classes_P"><a href="../../../sims/dynamics/joints/test/PrismaticJoint.html" target="contentFrame">PrismaticJoint</a></li> +<li id="Classes_U"><a href="../../../sims/dynamics/joints/test/UnitCircleJoint.html" target="contentFrame">UnitCircleJoint</a></li> + </ul> +<div class="kinds" id="Objects">Objects</div><ul class="list"> + <li id="Objects_P"><a href="../../../sims/dynamics/joints/test/PrismaticJoint$object.html" target="contentFrame">PrismaticJoint</a></li> + </ul></div></body> + </html>
\ No newline at end of file diff --git a/doc/sims/dynamics/joints/test/PrismaticJoint$object.html b/doc/sims/dynamics/joints/test/PrismaticJoint$object.html new file mode 100644 index 0000000..e460df7 --- /dev/null +++ b/doc/sims/dynamics/joints/test/PrismaticJoint$object.html @@ -0,0 +1,82 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>object PrismaticJoint in sims.dynamics.joints.test</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../../../sims/dynamics/joints/test$package.html" target="_self">sims.dynamics.joints.test</a> + <br></br> + <span class="entity">object PrismaticJoint</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="sims/dynamics/joints/test/PrismaticJoint"><code>sims/dynamics/joints/test/PrismaticJoint.scala</code></a>] + </div><hr></hr> + <a name="PrismaticJoint"></a><dl> + <dt> + + <code></code> + <code>object</code> + <em>PrismaticJoint</em> + </dt> + <dd><code> extends </code>(<a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) => <a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a></dd> + </dl> + + + +<table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="" target="contentFrame" class="scala/Function4">scala.Function4</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="#toString" target="contentFrame" class="scala/Function4">scala.Function4.toString</a>, <a href="#curry" target="contentFrame" class="scala/Function4">scala.Function4.curry</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#hashCode%28%29" target="_self">hashCode</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#equals%28Any%29" target="_self">equals</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + + + + + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/sims/dynamics/joints/test/PrismaticJoint.html b/doc/sims/dynamics/joints/test/PrismaticJoint.html new file mode 100644 index 0000000..a5c5a94 --- /dev/null +++ b/doc/sims/dynamics/joints/test/PrismaticJoint.html @@ -0,0 +1,502 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>class PrismaticJoint in sims.dynamics.joints.test</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../../../sims/dynamics/joints/test$package.html" target="_self">sims.dynamics.joints.test</a> + <br></br> + <span class="entity">class PrismaticJoint</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="sims/dynamics/joints/test/PrismaticJoint"><code>sims/dynamics/joints/test/PrismaticJoint.scala</code></a>] + </div><hr></hr> + <a name="PrismaticJoint"></a><dl> + <dt> + + <code>case</code> + <code>class</code> + <em>PrismaticJoint</em>(<code>val </code><em>node1</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor1</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>node2</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <code>val </code><em>anchor2</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) + </dt> + <dd><code> extends </code><a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a><code> with </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> + </dl> + <table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Additional Constructor Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#this%28sims.dynamics.Body%2Csims.dynamics.Body%29" target="_self">this</a></em> + (<em>node1</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a> + + + </td> + </tr> + </table> + +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Value Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#angle" target="_self">angle</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> + + + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Method Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#connection1" target="_self">connection1</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#connection2" target="_self">connection2</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#correctAngular%28Double%29" target="_self">correctAngular</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#correctLinear%28Double%29" target="_self">correctLinear</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + <div>Corrects the positions of this joint's associated bodies.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + <div>Corrects the velocities of this joint's associated bodies.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#equals%28Any%29" target="_self">equals</a></em> + (<em>arg0</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> + + <div>This method is used to compare the receiver object (<code>this</code>)
+ with the argument object (<code>arg0</code>) for equivalence.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#hashCode%28%29" target="_self">hashCode</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> + + <div>Returns a hash code value for the object.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#productArity" target="_self">productArity</a></em> + : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#productElement%28Int%29" target="_self">productElement</a></em> + (<em>arg0</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#productPrefix" target="_self">productPrefix</a></em> + : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code>override def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#toString%28%29" target="_self">toString</a></em> + : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + + <div>Returns a string representation of the object.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#v" target="_self">v</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html#x" target="_self">x</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + <table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Additional Constructor Details</td></tr> + </table><div><a name="this%28sims.dynamics.Body%2Csims.dynamics.Body%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>this</em>(<em>node1</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>node2</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>) : <a href="../../../../sims/dynamics/joints/test/PrismaticJoint.html" target="_self">PrismaticJoint</a> + </dt> + <dd></dd> + </dl><hr></hr></div> + +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Value Details</td></tr> + </table><div><a name="angle"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>angle</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> + </dt> + <dd></dd> + </dl><hr></hr></div> +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Method Details</td></tr> + </table><div><a name="connection1"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>connection1</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="connection2"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>connection2</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="x"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>x</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="v"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>v</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="correctVelocity%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctVelocity</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a> + </dd> + </dl><hr></hr> +<a name="correctLinear%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctLinear</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="correctAngular%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctAngular</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="correctPosition%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctPosition</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#correctPosition%28Double%29" target="_self">correctPosition</a> + </dd> + </dl><hr></hr> +<a name="hashCode%28%29"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>hashCode</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Returns a hash code value for the object.
+ <p>
+ The default hashing algorithm is platform dependent.
+ Note that it is allowed for two objects to have identical hash
+ codes (<code>o1.hashCode.equals(o2.hashCode)</code>) yet not be
+ equal (<code>o1.equals(o2)</code> returns <code>false</code>). A
+ degenerate implementation could always return <code>0</code>.
+ However, it is required that if two objects are equal
+ (<code>o1.equals(o2)</code> returns <code>true</code>) that they
+ have identical hash codes
+ (<code>o1.hashCode.equals(o2.hashCode)</code>). Therefore, when
+ overriding this method, be sure to verify that the behavior is
+ consistent with the <code>equals</code> method.
+ </p>
+ <p></dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>the hash code value for the object. </p></dd></dl> + <hr></hr> +<a name="toString%28%29"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>toString</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Returns a string representation of the object.
+ <p>
+ The default representation is platform dependent.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>a string representation of the object. </p></dd></dl> + <hr></hr> +<a name="equals%28Any%29"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>equals</em>(<em>arg0</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> + </dt> + <dd></dd> + </dl> + <dl><dd>This method is used to compare the receiver object (<code>this</code>)
+ with the argument object (<code>arg0</code>) for equivalence.
+
+ <p>
+ The default implementations of this method is an <a
+ href="http://en.wikipedia.org/wiki/Equivalence_relation">equivalence
+ relation</a>:
+ <ul>
+ <li>It is reflexive: for any instance <code>x</code> of type <code>Any</code>,
+ <code>x.equals(x)</code> should return <code>true</code>.</li>
+ <li>It is symmetric: for any instances <code>x</code> and <code>y</code> of type
+ <code>Any</code>, <code>x.equals(y)</code> should return <code>true</code> if and only
+ if <code>y.equals(x)</code> returns <code>true</code>.</li>
+ <li>It is transitive: for any instances
+ <code>x</code>, <code>y</code>, and <code>z</code> of type <code>AnyRef</code>
+ if <code>x.equals(y)</code> returns <code>true</code> and
+ <code>y.equals(z)</code> returns
+ <code>true</code>, then <code>x.equals(z)</code> should return <code>true</code>.</li>
+ </ul>
+ </p>
+ <p>
+ If you override this method, you should verify that
+ your implementation remains an equivalence relation.
+ Additionally, when overriding this method it is often necessary to
+ override <code>hashCode</code> to ensure that objects that are
+ "equal" (<code>o1.equals(o2)</code> returns <code>true</code>)
+ hash to the same <a href="Int.html"><code>Int</code></a>
+ (<code>o1.hashCode.equals(o2.hashCode)</code>).</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Parameters</b></dt><dd><code>arg0 - </code>the object to compare against this object for equality.</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd><code>true</code> if the receiver object is equivalent to the argument; <code>false</code> otherwise. </p></dd></dl> + <hr></hr> +<a name="productPrefix"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>productPrefix</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="" target="contentFrame" class="scala/Product">scala.Product</a>.<a href="#productPrefix" target="contentFrame" class="scala/Product">scala.Product.productPrefix</a> + </dd> + </dl><hr></hr> +<a name="productArity"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>productArity</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="" target="contentFrame" class="scala/Product">scala.Product</a>.<a href="#productArity" target="contentFrame" class="scala/Product">scala.Product.productArity</a> + </dd> + </dl><hr></hr> +<a name="productElement%28Int%29"></a><dl> + <dt> + + <code>override</code> + <code>def</code> + <em>productElement</em>(<em>arg0</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </dt> + <dd></dd> + </dl><dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="" target="contentFrame" class="scala/Product">scala.Product</a>.<a href="#productElement" target="contentFrame" class="scala/Product">scala.Product.productElement</a> + </dd> + </dl><hr></hr></div> + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/sims/dynamics/joints/test/UnitCircleJoint.html b/doc/sims/dynamics/joints/test/UnitCircleJoint.html new file mode 100644 index 0000000..b580f30 --- /dev/null +++ b/doc/sims/dynamics/joints/test/UnitCircleJoint.html @@ -0,0 +1,261 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html> + <head><title>class UnitCircleJoint in sims.dynamics.joints.test</title> + <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.5.final)" name="generator"></meta><link href="../../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../../script.js"></script> + </head> + <body onload="init()"> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + + <div class="entity"> + <a href="../../../../sims/dynamics/joints/test$package.html" target="_self">sims.dynamics.joints.test</a> + <br></br> + <span class="entity">class UnitCircleJoint</span> + </div><hr></hr> + <div class="source"> + [source: <a href="" class="sims/dynamics/joints/test/UnitCircleJoint"><code>sims/dynamics/joints/test/UnitCircleJoint.scala</code></a>] + </div><hr></hr> + <a name="UnitCircleJoint"></a><dl> + <dt> + + <code></code> + <code>class</code> + <em>UnitCircleJoint</em>(<em>body</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a>, <em>anchor</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) + </dt> + <dd><code> extends </code><a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a></dd> + </dl> + + +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Value Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#node1" target="_self">node1</a></em> + : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>First body of the joint.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> val</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#node2" target="_self">node2</a></em> + : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a> + + <div>Second body of the joint.</div> + </td> + </tr> + </table> +<table summary="" cellpadding="3" class="member"> + <tr><td class="title" colspan="2">Method Summary</td></tr> + <tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#connection" target="_self">connection</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#correctPosition%28Double%29" target="_self">correctPosition</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + <div>Corrects the positions of this joint's associated bodies.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a></em> + (<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + + <div>Corrects the velocities of this joint's associated bodies.</div> + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#v" target="_self">v</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> +<tr> + <td class="modifiers" valign="top"> + <code> def</code> + </td> + <td class="signature"> + <em><a href="../../../../sims/dynamics/joints/test/UnitCircleJoint.html#x" target="_self">x</a></em> + : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + + + </td> + </tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#hashCode%28%29" target="_self">hashCode</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#equals%28Any%29" target="_self">equals</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#toString%28%29" target="_self">toString</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a> + </td></tr> + </table><table summary="" cellpadding="3" class="inherited"> + <tr><td class="title" colspan="2"> + Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a> + </td></tr> + <tr><td class="signature" colspan="2"> + <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a> + </td></tr> + </table> + + + + +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Value Details</td></tr> + </table><div><a name="node1"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>node1</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a> + </dt> + <dd></dd> + </dl> + <dl><dd>First body of the joint.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#node1" target="_self">node1</a> + </dd> + </dl><hr></hr> +<a name="node2"></a><dl> + <dt> + + <code></code> + <code>val</code> + <em>node2</em> : <a href="../../../../sims/dynamics/Body.html" target="_self">Body</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Second body of the joint.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#node2" target="_self">node2</a> + </dd> + </dl><hr></hr></div> +<table summary="" cellpadding="3" class="member-detail"> + <tr><td class="title">Method Details</td></tr> + </table><div><a name="connection"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>connection</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="x"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>x</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="v"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>v</em> : <a href="../../../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + </dt> + <dd></dd> + </dl><hr></hr> +<a name="correctVelocity%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctVelocity</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Corrects the velocities of this joint's associated bodies.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#correctVelocity%28Double%29" target="_self">correctVelocity</a> + </dd> + </dl><hr></hr> +<a name="correctPosition%28Double%29"></a><dl> + <dt> + + <code></code> + <code>def</code> + <em>correctPosition</em>(<em>h</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Unit.html" target="_self">Unit</a> + </dt> + <dd></dd> + </dl> + <dl><dd>Corrects the positions of this joint's associated bodies.</dd></dl> + <dl></dl> + <dl> + <dt style="margin:10px 0 0 20px;"> + <b>Overrides</b> + </dt> + <dd> + <a href="../../../../sims/dynamics/joints/Joint.html" target="_self">Joint</a>.<a href="../../../../sims/dynamics/joints/Joint.html#correctPosition%28Double%29" target="_self">correctPosition</a> + </dd> + </dl><hr></hr></div> + + + <hr></hr> + <table summary="" class="navigation"> + <tr> + <td class="navigation-links" valign="top"> + <!-- <table><tr></tr></table> --> + </td> + <td align="right" valign="top" style="white-space:nowrap;" rowspan="2"> + <div class="doctitle-larger">SiMS</div> + </td> + </tr> + <tr><td></td></tr> + </table> + </body> + </html>
\ No newline at end of file diff --git a/doc/sims/geometry$content.html b/doc/sims/geometry$content.html index e3cf2bb..d5e1e86 100644 --- a/doc/sims/geometry$content.html +++ b/doc/sims/geometry$content.html @@ -13,7 +13,7 @@ <em><a href="../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Gemeinsame Eigenschaften aller konvexen Polygone.</div> + <div>Common properties of all convex polygons.</div> </td> </tr> <tr> @@ -24,7 +24,7 @@ <em><a href="../sims/geometry/Projection.html" target="_self">Projection</a></em> (<code>val </code><em>axis</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>lower</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>upper</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Projektion auf eine Achse.</div> + <div>Projection on an axis.</div> </td> </tr> <tr> @@ -35,7 +35,7 @@ <em><a href="../sims/geometry/Ray.html" target="_self">Ray</a></em> (<code>val </code><em>point</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>direction</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Eine Halbgerade wird definiert durch:</div> + <div>A ray.</div> </td> </tr> <tr> @@ -46,7 +46,7 @@ <em><a href="../sims/geometry/Segment.html" target="_self">Segment</a></em> (<code>val </code><em>vertex1</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <code>val </code><em>vertex2</em> : <a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Ein Segment wird durch seine beiden Extrempunkte gegeben.</div> + <div>A segment is given by its vertices.</div> </td> </tr> <tr> @@ -57,7 +57,7 @@ <em><a href="../sims/geometry/Vector2D.html" target="_self">Vector2D</a></em> (<code>val </code><em>x</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>y</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Ein 2-dimensionaler Vektor.</div> + <div>A 2D vector.</div> </td> </tr> </table> @@ -104,7 +104,7 @@ <em><a href="../sims/geometry/Vector2D$object.html" target="_self">Vector2D</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Dieses Objekt enthaelt spezielle Vektoren.</div> + <div>Contains special vectors.</div> </td> </tr> </table></body> diff --git a/doc/sims/geometry/ConvexPolygon.html b/doc/sims/geometry/ConvexPolygon.html index 0545761..5db8789 100644 --- a/doc/sims/geometry/ConvexPolygon.html +++ b/doc/sims/geometry/ConvexPolygon.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Gemeinsame Eigenschaften aller konvexen Polygone.</dd></dl> + <dl><dd>Common properties of all convex polygons.</dd></dl> <dl></dl> <dl> <dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt> @@ -52,7 +52,7 @@ <em><a href="../../sims/geometry/ConvexPolygon.html#AABB" target="_self">AABB</a></em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a> - <div>Errechnet das AABB dieses Polygons</div> + <div>Returns this polygon's axis aligned bounding box.</div> </td> </tr> <tr> @@ -63,7 +63,7 @@ <em><a href="../../sims/geometry/ConvexPolygon.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob sich der gegebene Punkt <code>point</code> in diesem Polygon befindet.</div> + <div>Checks if the point <code>point</code> is contained in this polygon.</div> </td> </tr> <tr> @@ -74,8 +74,7 @@ <em><a href="../../sims/geometry/ConvexPolygon.html#project%28sims.geometry.Vector2D%29" target="_self">project</a></em> (<em>axis</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a> - <div>Ergibt die Projektion dieses Polygons auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code></div> + <div>Returns the projection of this polygon onto the line given by the directional vector <code>axis</code>.</div> </td> </tr> <tr> @@ -86,7 +85,8 @@ <em><a href="../../sims/geometry/ConvexPolygon.html#sides" target="_self">sides</a></em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Segment.html" target="_self">Segment</a>] - <div>Ergibt alle Seiten dieses Polygons.</div> + <div>Returns all sides of this polygon. The sides are ordered counter-clockwise, the first vertex of the side
+ giving the side index.</div> </td> </tr> <tr> @@ -97,7 +97,7 @@ <em><a href="../../sims/geometry/ConvexPolygon.html#vertices" target="_self">vertices</a></em> : <a href="" target="contentFrame" class="scala/Seq">scala.Seq</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - <div>Ergibt Position aller Ecken dieses Polygons. Die Ecken sind gegen den Uhrzeigersinn folgend.</div> + <div>Returns positions of all vertices of this Polygon. Vertices are ordered counter-clockwise.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -131,9 +131,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt Position aller Ecken dieses Polygons. Die Ecken sind gegen den Uhrzeigersinn folgend.</dd></dl> + <dl><dd>Returns positions of all vertices of this Polygon. Vertices are ordered counter-clockwise.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Ortsvektoren der Ecken</dd></dl> + <b>Returns</b></dt><dd>position vectors of the vertices</dd></dl> <hr></hr> <a name="sides"></a><dl> <dt> @@ -144,9 +144,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt alle Seiten dieses Polygons.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Seiten dieses Polygons</dd></dl> + <dl><dd>Returns all sides of this polygon. The sides are ordered counter-clockwise, the first vertex of the side
+ giving the side index.</dd></dl> + <dl></dl> <hr></hr> <a name="project%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -157,11 +157,10 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Projektion dieses Polygons auf eine Gerade gegeben durch den
- Richtungsvektor <code>axis</code></dd></dl> + <dl><dd>Returns the projection of this polygon onto the line given by the directional vector <code>axis</code>.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>axis - </code>Richtungsvektor der Geraden</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Projektion dieses Polygons</dd></dl> + <b>Parameters</b></dt><dd><code>axis - </code>directional vector of the line</dd><dt style="margin:10px 0 0 20px;"> + <b>Returns</b></dt><dd>projection of this polygon</dd></dl> <hr></hr> <a name="AABB"></a><dl> <dt> @@ -172,9 +171,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet das AABB dieses Polygons</dd></dl> + <dl><dd>Returns this polygon's axis aligned bounding box.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>umfassendes AABB</dd><dt style="margin:10px 0 0 20px;"> <b>See Also</b></dt><dd>collision.AABB</dd></dl> <hr></hr> <a name="contains%28sims.geometry.Vector2D%29"></a><dl> @@ -186,15 +184,12 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob sich der gegebene Punkt <code>point</code> in diesem Polygon befindet.
+ <dl><dd>Checks if the point <code>point</code> is contained in this polygon.
<p>
- Hierzu wird eine Halbgerade von dem Punkt in Richtung der X-Achse gezogen (koennte aber auch beliebig sein).
- Dann wird die Anzahl der Ueberschneidungen der Halbgeraden mit den Seiten und Ecken des Polygons ermittelt.
- Ist die Anzahl der Ueberschneidungen ungerade, so befindet sich der Punkt in dem Polygon.
- Es gibt jedoch Ausnahmen, und zwar wenn die Halbgerade eine Ecke ueberschneidet, ueberschneidet sie sowohl auch zwei Seiten.
- Daher wird eine generelle Anzahl von Uerberschneidungen errechnet, gegeben durch die Anzahl der Ueberschneidungen mit den Seiten minus
- die mit den Ecken.
- Diese Zahl wird dann wie oben geschildert geprueft.</dd></dl> + A ray is created, originating from the point and following an arbitrary direction (X-Axis was chosen).
+ The number of intersections between the ray and this polygon's sides (including vertices) is counted.
+ The amount of intersections with vertices is substracted form the previuos number.
+ If the latter number is odd, the point is contained in the polygon.</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/geometry/Projection.html b/doc/sims/geometry/Projection.html index 3599777..ad69275 100644 --- a/doc/sims/geometry/Projection.html +++ b/doc/sims/geometry/Projection.html @@ -33,11 +33,11 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Projektion auf eine Achse.
+ <dl><dd>Projection on an axis.
<p>
- Ueblicherweise werden Projektionen in SiMS fuer Kollisionserkennung benutzt.</dd></dl> + Projections are commonly used in SiMS for collision detection.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>axis - </code>Achse der Projektion</dd><dd><code>lower - </code>unterer Wert der Projektion</dd><dd><code>upper - </code>oberer Wert der Projektion</dd></dl> + <b>Parameters</b></dt><dd><code>axis - </code>directional vector of the axis of the projection</dd><dd><code>lower - </code>lower value of the projection</dd><dd><code>upper - </code>upper value of the projection</dd></dl> @@ -75,7 +75,7 @@ <em><a href="../../sims/geometry/Projection.html#overlap%28sims.geometry.Projection%29" target="_self">overlap</a></em> (<em>other</em> : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt die Ueberlappung dieser Projektion und der Projektion <code>other</code>.</div> + <div>Returns the overlap between this projection and another projection <code>other</code>.</div> </td> </tr> <tr> @@ -86,7 +86,7 @@ <em><a href="../../sims/geometry/Projection.html#overlaps%28sims.geometry.Projection%29" target="_self">overlaps</a></em> (<em>other</em> : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob sich diese Projektion mit der Projektion <code>other</code> ueberschneidet.</div> + <div>Checks this projection for overlap with another projection <code>other</code>.</div> </td> </tr> <tr> @@ -164,8 +164,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob sich diese Projektion mit der Projektion <code>other</code> ueberschneidet.</dd></dl> - <dl></dl> + <dl><dd>Checks this projection for overlap with another projection <code>other</code>.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Throws</b></dt><dd><code>IllegalArgumentExcepion - </code>if both projections axes aren't the same</dd></dl> <hr></hr> <a name="overlap%28sims.geometry.Projection%29"></a><dl> <dt> @@ -176,8 +177,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Ueberlappung dieser Projektion und der Projektion <code>other</code>.</dd></dl> - <dl></dl> + <dl><dd>Returns the overlap between this projection and another projection <code>other</code>.</dd></dl> + <dl><dt style="margin:10px 0 0 20px;"> + <b>Throws</b></dt><dd><code>IllegalArgumentExcepion - </code>if both projections axes aren't the same</dd></dl> <hr></hr> <a name="hashCode%28%29"></a><dl> <dt> diff --git a/doc/sims/geometry/Ray.html b/doc/sims/geometry/Ray.html index 558153d..79288ce 100644 --- a/doc/sims/geometry/Ray.html +++ b/doc/sims/geometry/Ray.html @@ -33,9 +33,10 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Eine Halbgerade wird definiert durch:</dd></dl> + <dl><dd>A ray.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>point - </code>ein Aufpunkt</dd><dd><code>direction - </code>ein Richtungsvektor</dd></dl> + <b>Parameters</b></dt><dd><code>point - </code>a point on the ray</dd><dd><code>direction - </code>this ray's directional vector</dd><dt style="margin:10px 0 0 20px;"> + <b>Throws</b></dt><dd><code>IllegalArgumentException - </code>if the directional vector is the null vector</dd></dl> @@ -50,10 +51,7 @@ <em><a href="../../sims/geometry/Ray.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a></em> (<em>p</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob diese Halbgerade den gegebenen Punkt enthaelt.
- <br>
- Hierzu wird der Vektor von dem Ursprungspunkt zu dem zu ueberpruefenden Punkt gebildet. Dieser wird dann mit dem Richtungsvektor
- auf Kolinearitaet geprueft.</div> + <div>Checks if this ray contains the point <code>p</code>.</div> </td> </tr> <tr> @@ -87,7 +85,7 @@ <em><a href="../../sims/geometry/Ray.html#intersects%28sims.geometry.Segment%29" target="_self">intersects</a></em> (<em>s</em> : <a href="../../sims/geometry/Segment.html" target="_self">Segment</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft ob diese Halbgerade das gegebene Segment ueberschneidet.</div> + <div>Checks this ray and the given segment for intersection.</div> </td> </tr> <tr> @@ -165,9 +163,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob diese Halbgerade das gegebene Segment ueberschneidet.</dd></dl> + <dl><dd>Checks this ray and the given segment for intersection.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>das - </code>auf Ueberschneidung zu uerberpruefende Segment</dd></dl> + <b>Parameters</b></dt><dd><code>s - </code>the segment to test for intersection</dd></dl> <hr></hr> <a name="contains%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -178,12 +176,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft ob diese Halbgerade den gegebenen Punkt enthaelt.
- <br>
- Hierzu wird der Vektor von dem Ursprungspunkt zu dem zu ueberpruefenden Punkt gebildet. Dieser wird dann mit dem Richtungsvektor
- auf Kolinearitaet geprueft.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>p - </code>Ortsvektor des oben genannten Punkt</dd></dl> + <dl><dd>Checks if this ray contains the point <code>p</code>.</dd></dl> + <dl></dl> <hr></hr> <a name="hashCode%28%29"></a><dl> <dt> diff --git a/doc/sims/geometry/Segment.html b/doc/sims/geometry/Segment.html index 2cc0453..084cfb6 100644 --- a/doc/sims/geometry/Segment.html +++ b/doc/sims/geometry/Segment.html @@ -33,9 +33,10 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Ein Segment wird durch seine beiden Extrempunkte gegeben.</dd></dl> + <dl><dd>A segment is given by its vertices.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>vertex1 - </code>Ortsvektor des 1. Extrempunkts</dd><dd><code>vertex2 - </code>Ortsvektor des 2. Extrempunkts</dd></dl> + <b>Parameters</b></dt><dd><code>vertex1 - </code>position vector of the first vertex</dd><dd><code>vertex2 - </code>position vector of the second vertex</dd><dt style="margin:10px 0 0 20px;"> + <b>Throws</b></dt><dd><code>IllegalArgumentException - </code>if both vertices are equal</dd></dl> @@ -49,7 +50,7 @@ <em><a href="../../sims/geometry/Segment.html#d" target="_self">d</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Vektor von EP1 zu EP2.</div> + <div>Vector from <code>vertex1</code> to <code>vertex2</code>.</div> </td> </tr> <tr> @@ -60,7 +61,7 @@ <em><a href="../../sims/geometry/Segment.html#d0" target="_self">d0</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Einheitsrichtungsvektor.</div> + <div>Unit directional vector.</div> </td> </tr> <tr> @@ -71,7 +72,7 @@ <em><a href="../../sims/geometry/Segment.html#length" target="_self">length</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Laenge dieses Segments.</div> + <div>Length of this segment.</div> </td> </tr> <tr> @@ -82,7 +83,7 @@ <em><a href="../../sims/geometry/Segment.html#n" target="_self">n</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normalenvektor. Richtung: 90 Grad rechts zu d.</div> + <div>Right normal vector.</div> </td> </tr> <tr> @@ -93,7 +94,7 @@ <em><a href="../../sims/geometry/Segment.html#n0" target="_self">n0</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Normaleneinheitsvektor. Richtung: 90 Grad rechts zu d.</div> + <div>Right normal unit vector.</div> </td> </tr> </table> @@ -118,7 +119,7 @@ <em><a href="../../sims/geometry/Segment.html#distance%28sims.geometry.Vector2D%29" target="_self">distance</a></em> (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Kleinster Abstand zwischen diesem Segment und dem Punkt <code>p</code>.</div> + <div>Smallest distance between this segment and the point <code>point</code>.</div> </td> </tr> <tr> @@ -218,7 +219,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Laenge dieses Segments.</dd></dl> + <dl><dd>Length of this segment.</dd></dl> <dl></dl> <hr></hr> <a name="d"></a><dl> @@ -230,7 +231,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Vektor von EP1 zu EP2.</dd></dl> + <dl><dd>Vector from <code>vertex1</code> to <code>vertex2</code>.</dd></dl> <dl></dl> <hr></hr> <a name="d0"></a><dl> @@ -242,7 +243,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Einheitsrichtungsvektor.</dd></dl> + <dl><dd>Unit directional vector.</dd></dl> <dl></dl> <hr></hr> <a name="n"></a><dl> @@ -254,7 +255,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normalenvektor. Richtung: 90 Grad rechts zu d.</dd></dl> + <dl><dd>Right normal vector.</dd></dl> <dl></dl> <hr></hr> <a name="n0"></a><dl> @@ -266,7 +267,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Normaleneinheitsvektor. Richtung: 90 Grad rechts zu d.</dd></dl> + <dl><dd>Right normal unit vector.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -280,7 +281,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Kleinster Abstand zwischen diesem Segment und dem Punkt <code>p</code>.</dd></dl> + <dl><dd>Smallest distance between this segment and the point <code>point</code>.</dd></dl> <dl></dl> <hr></hr> <a name="clipToSegment%28sims.geometry.Segment%29"></a><dl> diff --git a/doc/sims/geometry/Vector2D$object.html b/doc/sims/geometry/Vector2D$object.html index 188f206..ee73bb6 100644 --- a/doc/sims/geometry/Vector2D$object.html +++ b/doc/sims/geometry/Vector2D$object.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Dieses Objekt enthaelt spezielle Vektoren.</dd></dl> + <dl><dd>Contains special vectors.</dd></dl> <dl></dl> @@ -48,7 +48,7 @@ <em><a href="../../sims/geometry/Vector2D$object.html#Null" target="_self">Null</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Nullvektor.</div> + <div>Null vector.</div> </td> </tr> <tr> @@ -59,7 +59,7 @@ <em><a href="../../sims/geometry/Vector2D$object.html#i" target="_self">i</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ein horizontaler Einheitsvektor mit den Komponenten (1;0).</div> + <div>Horizontal unit vector. (1,0)</div> </td> </tr> <tr> @@ -70,7 +70,7 @@ <em><a href="../../sims/geometry/Vector2D$object.html#j" target="_self">j</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ein vertikaler Einheitsvektor mit den Komponenten (0;1).</div> + <div>Vertical unit vector. (0,1)</div> </td> </tr> </table> @@ -104,7 +104,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Nullvektor.</dd></dl> + <dl><dd>Null vector.</dd></dl> <dl></dl> <hr></hr> <a name="i"></a><dl> @@ -116,7 +116,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ein horizontaler Einheitsvektor mit den Komponenten (1;0).</dd></dl> + <dl><dd>Horizontal unit vector. (1,0)</dd></dl> <dl></dl> <hr></hr> <a name="j"></a><dl> @@ -128,7 +128,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ein vertikaler Einheitsvektor mit den Komponenten (0;1).</dd></dl> + <dl><dd>Vertical unit vector. (0,1)</dd></dl> <dl></dl> <hr></hr></div> diff --git a/doc/sims/geometry/Vector2D.html b/doc/sims/geometry/Vector2D.html index 5e541fb..816428e 100644 --- a/doc/sims/geometry/Vector2D.html +++ b/doc/sims/geometry/Vector2D.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Ein 2-dimensionaler Vektor.</dd></dl> + <dl><dd>A 2D vector.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>x - </code>1. Komponente</dd><dd><code>y - </code>2. Komponente</dd></dl> + <b>Parameters</b></dt><dd><code>x - </code>1st component</dd><dd><code>y - </code>2nd component</dd></dl> @@ -49,7 +49,7 @@ <em><a href="../../sims/geometry/Vector2D.html#length" target="_self">length</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Norm dieses Vektors.</div> + <div>Norm or length of this vector.</div> </td> </tr> </table> @@ -63,7 +63,7 @@ <em><a href="../../sims/geometry/Vector2D.html#*%28Double%29" target="_self">*</a></em> (<em>n</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Multiplikation mit einem Skalar.</div> + <div>Scalar multiplication.</div> </td> </tr> <tr> @@ -74,7 +74,7 @@ <em><a href="../../sims/geometry/Vector2D.html#%2B%28sims.geometry.Vector2D%29" target="_self">+</a></em> (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Vektoraddition.</div> + <div>Vector addition.</div> </td> </tr> <tr> @@ -85,7 +85,7 @@ <em><a href="../../sims/geometry/Vector2D.html#-%28sims.geometry.Vector2D%29" target="_self">-</a></em> (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Vektorsubstraktion.</div> + <div>Vector substraction.</div> </td> </tr> <tr> @@ -96,7 +96,7 @@ <em><a href="../../sims/geometry/Vector2D.html#%2F%28Double%29" target="_self">/</a></em> (<em>n</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Division durch ein Skalar.</div> + <div>Scalar division.</div> </td> </tr> <tr> @@ -107,7 +107,7 @@ <em><a href="../../sims/geometry/Vector2D.html#components" target="_self">components</a></em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>] - <div>Ergibt eine Liste der Komponenten dieses Vektors.</div> + <div>Returns a list of this vector's components.</div> </td> </tr> <tr> @@ -118,7 +118,7 @@ <em><a href="../../sims/geometry/Vector2D.html#cross%28sims.geometry.Vector2D%29" target="_self">cross</a></em> (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Kreuzprodukt. (Norm des Kreuzproduktes)</div> + <div>Cross product. Length only because in 2D. The direction would be given by the x3-axis.</div> </td> </tr> <tr> @@ -129,7 +129,7 @@ <em><a href="../../sims/geometry/Vector2D.html#dot%28sims.geometry.Vector2D%29" target="_self">dot</a></em> (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Skalarprodukt.</div> + <div>Dot product.</div> </td> </tr> <tr> @@ -163,7 +163,7 @@ <em><a href="../../sims/geometry/Vector2D.html#isNull" target="_self">isNull</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a> - <div>Ueberprueft, ob die Komponenten dieses Vektors gleich Null sind.</div> + <div>Checks if this vector is the null vector.</div> </td> </tr> <tr> @@ -174,7 +174,7 @@ <em><a href="../../sims/geometry/Vector2D.html#leftNormal" target="_self">leftNormal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Linker Normalenvektor. (-y, x)</div> + <div>Left normal vector. (-y, x)</div> </td> </tr> <tr> @@ -218,7 +218,7 @@ <em><a href="../../sims/geometry/Vector2D.html#project%28sims.geometry.Vector2D%29" target="_self">project</a></em> (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Errechnet die Projektion dieses- auf einen anderen Vektor.</div> + <div>Returns the projection of this vector onto the vector <code>v</code>.</div> </td> </tr> <tr> @@ -229,7 +229,7 @@ <em><a href="../../sims/geometry/Vector2D.html#rightNormal" target="_self">rightNormal</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Rechter Normalenvektor. (y, -x)</div> + <div>Right normal vector. (y, -x)</div> </td> </tr> <tr> @@ -240,7 +240,7 @@ <em><a href="../../sims/geometry/Vector2D.html#rotate%28Double%29" target="_self">rotate</a></em> (<em>angle</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Errechnet eine Rotation dieses Vektors.</div> + <div>Returns a rotation of this vector by <code>angle</code> radian.</div> </td> </tr> <tr> @@ -262,7 +262,7 @@ <em><a href="../../sims/geometry/Vector2D.html#unary_-" target="_self">unary_-</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Minusvorzeichen.</div> + <div>Unary minus.</div> </td> </tr> <tr> @@ -273,7 +273,7 @@ <em><a href="../../sims/geometry/Vector2D.html#unit" target="_self">unit</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Einheitsvektor dieses Vektors.</div> + <div>Unit vector.</div> </td> </tr> </table><table summary="" cellpadding="3" class="inherited"> @@ -306,7 +306,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Norm dieses Vektors.</dd></dl> + <dl><dd>Norm or length of this vector.</dd></dl> <dl></dl> <hr></hr></div> <table summary="" cellpadding="3" class="member-detail"> @@ -320,10 +320,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Vektoraddition.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>v - </code>zu addierender Vektor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>dieser Vektor addiert mit <code>v</code></dd></dl> + <dl><dd>Vector addition.</dd></dl> + <dl></dl> <hr></hr> <a name="-%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -334,10 +332,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Vektorsubstraktion.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>v - </code>zu substrahierender Vektor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>dieser Vektor substrahiert mit <code>v</code></dd></dl> + <dl><dd>Vector substraction.</dd></dl> + <dl></dl> <hr></hr> <a name="*%28Double%29"></a><dl> <dt> @@ -348,10 +344,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Multiplikation mit einem Skalar.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>n - </code>Faktor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>dieser Vektor multipliziert mit <code>n</code></dd></dl> + <dl><dd>Scalar multiplication.</dd></dl> + <dl></dl> <hr></hr> <a name="%2F%28Double%29"></a><dl> <dt> @@ -362,10 +356,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Division durch ein Skalar.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>n - </code>Nenner</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>dieser Vektor dividiert durch <code>n</code></dd></dl> + <dl><dd>Scalar division.</dd></dl> + <dl></dl> <hr></hr> <a name="unary_-"></a><dl> <dt> @@ -376,7 +368,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Minusvorzeichen.</dd></dl> + <dl><dd>Unary minus.</dd></dl> <dl></dl> <hr></hr> <a name="dot%28sims.geometry.Vector2D%29"></a><dl> @@ -388,10 +380,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Skalarprodukt.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>v - </code>ein anderer Vektor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Skalarprodukt von diesem Vektor mit <code>v</code></dd></dl> + <dl><dd>Dot product.</dd></dl> + <dl></dl> <hr></hr> <a name="cross%28sims.geometry.Vector2D%29"></a><dl> <dt> @@ -402,10 +392,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Kreuzprodukt. (Norm des Kreuzproduktes)</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>v - </code>ein anderer Vektor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Norm des Kreuzproduktes dieses Vektors mit <code>v</code>. Die Richtung wuerde der x3-Achse entsprechen.</dd></dl> + <dl><dd>Cross product. Length only because in 2D. The direction would be given by the x3-axis.</dd></dl> + <dl></dl> <hr></hr> <a name="unit"></a><dl> <dt> @@ -416,7 +404,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Einheitsvektor dieses Vektors.</dd></dl> + <dl><dd>Unit vector.</dd></dl> <dl></dl> <hr></hr> <a name="project%28sims.geometry.Vector2D%29"></a><dl> @@ -428,10 +416,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet die Projektion dieses- auf einen anderen Vektor.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>v - </code>oben gennanter Vektor</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Projektion dieses Vektors auf <code>v</code></dd></dl> + <dl><dd>Returns the projection of this vector onto the vector <code>v</code>.</dd></dl> + <dl></dl> <hr></hr> <a name="rotate%28Double%29"></a><dl> <dt> @@ -442,10 +428,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Errechnet eine Rotation dieses Vektors.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>angle - </code>Winkel in Radian</dd><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>der um <code>angle</code> rad rotierte Vektor</dd></dl> + <dl><dd>Returns a rotation of this vector by <code>angle</code> radian.</dd></dl> + <dl></dl> <hr></hr> <a name="leftNormal"></a><dl> <dt> @@ -456,7 +440,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Linker Normalenvektor. (-y, x)</dd></dl> + <dl><dd>Left normal vector. (-y, x)</dd></dl> <dl></dl> <hr></hr> <a name="rightNormal"></a><dl> @@ -468,7 +452,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Rechter Normalenvektor. (y, -x)</dd></dl> + <dl><dd>Right normal vector. (y, -x)</dd></dl> <dl></dl> <hr></hr> <a name="isNull"></a><dl> @@ -480,7 +464,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ueberprueft, ob die Komponenten dieses Vektors gleich Null sind.</dd></dl> + <dl><dd>Checks if this vector is the null vector.</dd></dl> <dl></dl> <hr></hr> <a name="components"></a><dl> @@ -492,7 +476,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt eine Liste der Komponenten dieses Vektors.</dd></dl> + <dl><dd>Returns a list of this vector's components.</dd></dl> <dl></dl> <hr></hr> <a name="hashCode%28%29"></a><dl> diff --git a/doc/sims/math$content.html b/doc/sims/math$content.html index 871d764..8d2df26 100644 --- a/doc/sims/math$content.html +++ b/doc/sims/math$content.html @@ -13,7 +13,7 @@ <em><a href="../sims/math/Matrix22.html" target="_self">Matrix22</a></em> (<code>val </code><em>c11</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>c12</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>c21</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>c22</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Eine 2x2, quadratische Matrix.</div> + <div>A 2x2 matrix.</div> </td> </tr> </table> diff --git a/doc/sims/math/Matrix22.html b/doc/sims/math/Matrix22.html index b3a5906..b07482d 100644 --- a/doc/sims/math/Matrix22.html +++ b/doc/sims/math/Matrix22.html @@ -33,9 +33,9 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Eine 2x2, quadratische Matrix.</dd></dl> + <dl><dd>A 2x2 matrix.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>c11 - </code>Komponente 1,1</dd><dd><code>c12 - </code>Komponente 1,2</dd><dd><code>c21 - </code>Komponente 2,1</dd><dd><code>c22 - </code>Komponente 2,2</dd></dl> + <b>Parameters</b></dt><dd><code>c11 - </code>component 1,1</dd><dd><code>c12 - </code>component 1,2</dd><dd><code>c21 - </code>component 2,1</dd><dd><code>c22 - </code>component 2,2</dd></dl> <table summary="" cellpadding="3" class="member"> <tr><td class="title" colspan="2">Additional Constructor Summary</td></tr> @@ -47,8 +47,7 @@ <em><a href="../../sims/math/Matrix22.html#this%28sims.geometry.Vector2D%2Csims.geometry.Vector2D%29" target="_self">this</a></em> (<em>c1</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>, <em>c2</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a> - <div>Eine 2x2-dimensionale, quadratische Matrix kann auch mit zwei 2-dimensionalen
- Vektoren erstellt werden. In diesem Fall repraesentiert jeder Vektor eine Spalte.</div> + <div>A 2x2 matrix can be created with two 2D vectors. In this case, each column is represented by a vector.</div> </td> </tr> </table> @@ -61,10 +60,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/math/Matrix22.html#*%28Double%29" target="_self">*</a></em> - (<em>n</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a> + <em><a href="../../sims/math/Matrix22.html#*%28sims.geometry.Vector2D%29" target="_self">*</a></em> + (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Multiplikation mit einem Skalar.</div> + <div>Multiplikation with a 2D vector.</div> </td> </tr> <tr> @@ -72,10 +71,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/math/Matrix22.html#*%28sims.geometry.Vector2D%29" target="_self">*</a></em> - (<em>v</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + <em><a href="../../sims/math/Matrix22.html#*%28sims.math.Matrix22%29" target="_self">*</a></em> + (<em>m</em> : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a>) : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a> - <div>Multiplikation mit einer 2x1-Matrix (2-dimensionaler Vektor).</div> + <div>Matrix multiplication.</div> </td> </tr> <tr> @@ -83,10 +82,10 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/math/Matrix22.html#*%28sims.math.Matrix22%29" target="_self">*</a></em> - (<em>m</em> : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a>) : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a> + <em><a href="../../sims/math/Matrix22.html#*%28Double%29" target="_self">*</a></em> + (<em>n</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>) : <a href="../../sims/math/Matrix22.html" target="_self">Matrix22</a> - <div>Multiplikation mit einer anderen 2x2-Matrix.</div> + <div>Scalar multiplication.</div> </td> </tr> <tr> @@ -108,7 +107,7 @@ <em><a href="../../sims/math/Matrix22.html#det" target="_self">det</a></em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - <div>Ergibt die Determinante dieser Matrix.</div> + <div>Determinant of this matrix.</div> </td> </tr> <tr> @@ -217,10 +216,9 @@ </dt> <dd></dd> </dl> - <dl><dd>Eine 2x2-dimensionale, quadratische Matrix kann auch mit zwei 2-dimensionalen
- Vektoren erstellt werden. In diesem Fall repraesentiert jeder Vektor eine Spalte.</dd></dl> + <dl><dd>A 2x2 matrix can be created with two 2D vectors. In this case, each column is represented by a vector.</dd></dl> <dl><dt style="margin:10px 0 0 20px;"> - <b>Parameters</b></dt><dd><code>c1 - </code>erste Spalte</dd><dd><code>c2 - </code>zweite Spalte</dd></dl> + <b>Parameters</b></dt><dd><code>c1 - </code>first column</dd><dd><code>c2 - </code>second column</dd></dl> <hr></hr></div> @@ -235,9 +233,8 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Determinante dieser Matrix.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <b>Returns</b></dt><dd>Determinante dieser Matrix</dd></dl> + <dl><dd>Determinant of this matrix.</dd></dl> + <dl></dl> <hr></hr> <a name="%2B%28sims.math.Matrix22%29"></a><dl> <dt> @@ -260,7 +257,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Multiplikation mit einem Skalar.</dd></dl> + <dl><dd>Scalar multiplication.</dd></dl> <dl></dl> <hr></hr> <a name="*%28sims.math.Matrix22%29"></a><dl> @@ -272,7 +269,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Multiplikation mit einer anderen 2x2-Matrix.</dd></dl> + <dl><dd>Matrix multiplication.</dd></dl> <dl></dl> <hr></hr> <a name="*%28sims.geometry.Vector2D%29"></a><dl> @@ -284,7 +281,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Multiplikation mit einer 2x1-Matrix (2-dimensionaler Vektor).</dd></dl> + <dl><dd>Multiplikation with a 2D vector.</dd></dl> <dl></dl> <hr></hr> <a name="invert"></a><dl> diff --git a/doc/sims/util$content.html b/doc/sims/util$content.html index 48b8a1e..8db8c6c 100644 --- a/doc/sims/util$content.html +++ b/doc/sims/util$content.html @@ -13,7 +13,7 @@ <em><a href="../sims/util/Polar.html" target="_self">Polar</a></em> (<code>val </code><em>distance</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>, <code>val </code><em>angle</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>)<code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a> - <div>Polare Koordinaten.</div> + <div>Polar coordinates.</div> </td> </tr> <tr> @@ -49,7 +49,7 @@ <em><a href="../sims/util/Positioning$object.html" target="_self">Positioning</a></em> <code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a> - <div>Objekt mit Hiflsfunktionen fuer komfortables Positionieren von Koerpern.</div> + <div>Utility functions for comfortable positioning of bodies.</div> </td> </tr> </table></body> diff --git a/doc/sims/util/Polar.html b/doc/sims/util/Polar.html index 7f3f444..78fa78d 100644 --- a/doc/sims/util/Polar.html +++ b/doc/sims/util/Polar.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="" target="contentFrame" class="scala/Product">scala.Product</a></dd> </dl> - <dl><dd>Polare Koordinaten.</dd></dl> + <dl><dd>Polar coordinates.</dd></dl> <dl></dl> @@ -105,7 +105,7 @@ <em><a href="../../sims/util/Polar.html#toCarthesian" target="_self">toCarthesian</a></em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> - <div>Ergibt die Vektorrepraesantation dieser polaren Koordinaten.</div> + <div>Returns the vector representation of these polar coordinates.</div> </td> </tr> <tr> @@ -150,7 +150,7 @@ </dt> <dd></dd> </dl> - <dl><dd>Ergibt die Vektorrepraesantation dieser polaren Koordinaten.</dd></dl> + <dl><dd>Returns the vector representation of these polar coordinates.</dd></dl> <dl></dl> <hr></hr> <a name="hashCode%28%29"></a><dl> diff --git a/doc/sims/util/Positioning$object.html b/doc/sims/util/Positioning$object.html index eecdee9..3a9b6c0 100644 --- a/doc/sims/util/Positioning$object.html +++ b/doc/sims/util/Positioning$object.html @@ -33,7 +33,7 @@ </dt> <dd><code> extends </code><a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a></dd> </dl> - <dl><dd>Objekt mit Hiflsfunktionen fuer komfortables Positionieren von Koerpern.</dd></dl> + <dl><dd>Utility functions for comfortable positioning of bodies.</dd></dl> <dl></dl> diff --git a/doc/sims/util/RelativeVector.html b/doc/sims/util/RelativeVector.html index 323edb5..b2512f4 100644 --- a/doc/sims/util/RelativeVector.html +++ b/doc/sims/util/RelativeVector.html @@ -109,8 +109,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/util/RelativeVector.html#left%28sims.dynamics.Shape%29" target="_self">left</a></em> - (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + <em><a href="../../sims/util/RelativeVector.html#left%28sims.geometry.Vector2D%29" target="_self">left</a></em> + (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> </td> @@ -120,8 +120,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/util/RelativeVector.html#left%28sims.geometry.Vector2D%29" target="_self">left</a></em> - (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + <em><a href="../../sims/util/RelativeVector.html#left%28sims.dynamics.Shape%29" target="_self">left</a></em> + (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> </td> @@ -131,8 +131,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/util/RelativeVector.html#right%28sims.dynamics.Shape%29" target="_self">right</a></em> - (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + <em><a href="../../sims/util/RelativeVector.html#right%28sims.geometry.Vector2D%29" target="_self">right</a></em> + (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> </td> @@ -142,8 +142,8 @@ <code> def</code> </td> <td class="signature"> - <em><a href="../../sims/util/RelativeVector.html#right%28sims.geometry.Vector2D%29" target="_self">right</a></em> - (<em>point</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> + <em><a href="../../sims/util/RelativeVector.html#right%28sims.dynamics.Shape%29" target="_self">right</a></em> + (<em>s</em> : <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>) : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a> </td> diff --git a/src/graphyx/tests/Friction2.scala b/src/graphyx/tests/Friction2.scala index 6eb445b..f6731e2 100644 --- a/src/graphyx/tests/Friction2.scala +++ b/src/graphyx/tests/Friction2.scala @@ -26,7 +26,7 @@ object Friction2 extends Test{ ground.rotation = -0.2 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)}) + 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 } diff --git a/src/graphyx/tests/General1.scala b/src/graphyx/tests/General1.scala index 1a71c24..7d8703b 100644 --- a/src/graphyx/tests/General1.scala +++ b/src/graphyx/tests/General1.scala @@ -103,7 +103,7 @@ object General1 extends Test{ ground.fixed = true world += ground - world += (new Circle(0.1,1) {pos = Vector2D(2,2)}) ^ (new Circle(0.1,1) {pos = Vector2D(2,2.2)}) + world += (new Circle(0.1,1) {pos = Vector2D(2,2)}) ~ (new Circle(0.1,1) {pos = Vector2D(2,2.2)}) } override def fireEvent() = blastBomb diff --git a/src/graphyx/tests/Spring.scala b/src/graphyx/tests/Spring.scala index 4eec8de..439259f 100644 --- a/src/graphyx/tests/Spring.scala +++ b/src/graphyx/tests/Spring.scala @@ -7,8 +7,8 @@ import java.io._ object Spring extends Test{ val title = "Spring" - val fout = new java.io.FileOutputStream("out.csv") - val sout = new java.io.PrintStream(fout) + //val fout = new java.io.FileOutputStream("out.csv") + //val sout = new java.io.PrintStream(fout) val world = new World { override def postStep = { //for (b <- bodies; if (b.monitor)) sout.println(monitors(0)._2(b)) diff --git a/src/sims/collision/AABB.scala b/src/sims/collision/AABB.scala index 51b3e12..ea696f2 100644 --- a/src/sims/collision/AABB.scala +++ b/src/sims/collision/AABB.scala @@ -9,18 +9,17 @@ package sims.collision import geometry._ /** - * Axis Aligned Bounding Boxes, kurz AABBs, sind Rechtecke die eine bestimmte Form umhuellen. - * Da AABBs nach den X- und Y-Achsen orientiert sind, ermoeglichen sie eine schnelle - * und einfache Feststellung ob zwei AABBs sich ueberschneiden. - * @param minVertex Ortsvektor der minimalen Ecke des AABBs - * @param maxVertex Ortsvektor der maximalen Ecke des AABBs + * Axis Aligned Bounding Boxes (AABBs) are rectangles that frame a shape. + * Their X-Axis and Y-Axis orientation makes it easy to test two AABBs for overlap. + * @param minVertex Position vector of the bottom-left vertex + * @param maxVertex Position vector of the upper-right vertex */ case class AABB(val minVertex: Vector2D, val maxVertex: Vector2D) { /** - * Ueberprueft ob dieses AABB sich mit dem AABB <code>box</code> ueberschneidet. - * @param box das mit diesem auf Ueberschneidung zu ueberpruefende AABB*/ + * Checks this AABB with <code>box</code> for overlap. + * @param box AABB with which to check for overlap*/ def overlaps(box: AABB): Boolean = { val d1 = box.minVertex - maxVertex val d2 = minVertex - box.maxVertex diff --git a/src/sims/collision/CircleCollision.scala b/src/sims/collision/CircleCollision.scala index baf401a..e77c8e2 100644 --- a/src/sims/collision/CircleCollision.scala +++ b/src/sims/collision/CircleCollision.scala @@ -9,7 +9,7 @@ package sims.collision import geometry._ import dynamics._ -/**Kollision zwischen zwei Kreisen.*/ +/**Collision between two circles.*/ case class CircleCollision(c1: Circle, c2: Circle) extends Collision { val shape1 = c1 val shape2 = c2 diff --git a/src/sims/collision/Collision.scala b/src/sims/collision/Collision.scala index d674b30..ce09ac2 100644 --- a/src/sims/collision/Collision.scala +++ b/src/sims/collision/Collision.scala @@ -9,19 +9,19 @@ package sims.collision import dynamics._ import geometry._ -/**Kollisionen zwischen zwei Formen enthalten Methoden zur Berrechnen der Kollisionsreaktion.*/ +/**Collision between two shapes. Contains methods to compute the collision response.*/ abstract class Collision extends Constraint { - /**Erste Kollisionsform (Referenz).*/ + /**First colliding shape (reference shape).*/ val shape1: Shape - /**Zweite Kollisionsform (eindringend).*/ + /**Second colliding shape (incident shape).*/ val shape2: Shape - /**Kollisionspunkte.*/ + /**Collision points.*/ val points: Iterable[Vector2D] - /**Normalenvektor zu der Kollisionsebene.*/ + /**Normal vector to the collision face.*/ val normal: Vector2D /* C = delta @@ -103,6 +103,6 @@ abstract class Collision extends Constraint { object Collision { - /**Erlaubte Ueberlappung.*/ + /**Tolerated overlap. Collision response will only be applied if the overlap of two shapes exceeds the tolerated overlap.*/ val ToleratedOverlap: Double = 0.01 } diff --git a/src/sims/collision/Detector.scala b/src/sims/collision/Detector.scala index e847235..0a3ad5b 100644 --- a/src/sims/collision/Detector.scala +++ b/src/sims/collision/Detector.scala @@ -12,12 +12,12 @@ import sims.dynamics._ import scala.collection._ import scala.collection.mutable._ -/**Eine Welt ermittelt ihre Kollisionen durch konkrete Implementierungen dieser Klasse.*/ +/**A world detects its collisions through concrete implementations of this class.*/ abstract class Detector { - /**Die Welt dessen Formen auf Kollisionen ueberprueft werden sollen.*/ + /**The world whose shapes are to be checked for collisions.*/ val world: World - /**Ergibt alle Kollisionen zwischen Formen der Welt <code>world</code>.*/ + /**Returns all collisions between shapes in the world <code>world</code>.*/ def collisions: Seq[Collision] }
\ No newline at end of file diff --git a/src/sims/collision/GridDetector.scala b/src/sims/collision/GridDetector.scala index 2c027a3..f5ed99a 100644 --- a/src/sims/collision/GridDetector.scala +++ b/src/sims/collision/GridDetector.scala @@ -11,11 +11,11 @@ import sims.geometry._ import scala.collection._ import scala.collection.mutable._ -/**Eine konkrete Implementierung von <code>Detector</code>. <code>GridDetector</code> ermittelt - * alle Kollisionen mit einem Gittersystem.*/ +/**A conrete implementation of <code>Detector</code>. <code>GridDetector</code> divides the world into a grid + * for faster collision detection.*/ class GridDetector(override val world: World) extends Detector { - /**Array von Kollisionserkennungsmethoden fuer Formenpaare.*/ + /**Array of collision detection methods. These methods return <code>true</code> if two shapes are colliding.*/ val detectionMethods = new ArrayBuffer[PartialFunction[(Shape, Shape), Boolean]] detectionMethods += { case (c1: Circle, c2: Circle) => { //Kollision wenn Distanz <= Summe der Radien @@ -41,7 +41,7 @@ class GridDetector(override val world: World) extends Detector { } } - /**Array von Kollisionsmethoden fuer Formenpaare.*/ + /**Array of methods returning collisions. It is assumed that both shapes are colliding.*/ val collisionMethods = new ArrayBuffer[PartialFunction[(Shape, Shape), Collision]] collisionMethods += { case (c1: Circle, c2: Circle) => CircleCollision(c1, c2) @@ -50,34 +50,34 @@ class GridDetector(override val world: World) extends Detector { case (c: Circle, p: ConvexPolygon) => PolyCircleCollision(p, c) } - /**Gibt an, ob das Formenpaar <code>p</code> kollidiert. - * @param p Formenpaar.*/ + /**Checks the pair of shapes <code>p</code> for collision. + * @param p Pair of shapes.*/ def colliding(p: Pair) = { if (detectionMethods.exists(_.isDefinedAt(p))) detectionMethods.find(_.isDefinedAt(p)).get.apply(p) else throw new IllegalArgumentException("No collision method for colliding pair!") } - /**Gibt die Kollision des Formenpaares <code>p</code> zurueck. - * @param p Formenpaar.*/ + /**Returns the collision between both shapes of the pair <code>p</code>. + * @param p Pair of shapes.*/ def collision(p: Pair): Collision = { if (collisionMethods.exists(_.isDefinedAt(p))) collisionMethods.find(_.isDefinedAt(p)).get.apply(p) else throw new IllegalArgumentException("No collision found in colliding pair!") } - /**Breite und Hoehe einer Gitterzelle.*/ + /**Width and height of a grid cell.*/ var gridSide: Double = 2 - /**Ergibt potenzielle Kollisionspaare der Welt <code>world</code>. + /**Returns potential colliding pairs of shapes of the world <code>world</code>. * <p> - * Ein Kollisionspaar ist ein Paar aus zwei verschiedenen Formen, das folgenden Bedingungen unterliegt: + * A potential colliding pair is a pair of two shapes that comply with the following criteria: * <ul> - * <li>Die Formen muessen sich in der gleichen Gitterzelle befinden.</li> - * <li>Ihre AABBs muessen sich ueberlappen.</li> - * <li>Die Formen duerfen nicht von dem gleichen Koerper sein.</li> - * <li>Mindestens eine Form darf nicht Fixiert sein.</li> - * <li>Beide muessen {@link dynamics.Shape#collidable collidierbar} sein.</li> + * <li>The shapes are situated in the same grid cell.</li> + * <li>Their AABBs overlap.</li> + * <li>The shapes do not belong to the same body.</li> + * <li>At least one shape is not fixed.</li> + * <li>Both shapes are {@link dynamics.Shape#collidable}.</li> * </ul>*/ def getPairs = { val grid = new HashMap[(Int, Int), List[Shape]] @@ -110,13 +110,13 @@ class GridDetector(override val world: World) extends Detector { private var cache = (world.time, getPairs) - /**Alle potentiellen Kollisionspaare der Welt. + /**All potential colliding pairs of the world. * @see getPairs*/ def pairs = {if (world.time != cache._1) cache = (world.time, getPairs); cache._2} - /**Ergibt alle kollidierenden Paare.*/ + /**Returns all colliding pairs.*/ def collidingPairs: Seq[Pair] = for(p <- pairs; if (colliding(p))) yield p - /**Ergibt alle Kollisionen.*/ + /**Returns all collisions.*/ def collisions: Seq[Collision] = for(p <- pairs; if (colliding(p))) yield collision(p) } diff --git a/src/sims/collision/Pair.scala b/src/sims/collision/Pair.scala index 048748d..e4ae947 100644 --- a/src/sims/collision/Pair.scala +++ b/src/sims/collision/Pair.scala @@ -8,7 +8,7 @@ package sims.collision import sims.dynamics._ -/**Formenpaar.*/ +/**Pair of shapes.*/ case class Pair(s1: Shape, s2: Shape) extends Tuple2(s1, s2){ def this(t: Tuple2[Shape, Shape]) = this(t._1, t._2) diff --git a/src/sims/collision/PolyCircleCollision.scala b/src/sims/collision/PolyCircleCollision.scala index 1bf982e..20f1d49 100644 --- a/src/sims/collision/PolyCircleCollision.scala +++ b/src/sims/collision/PolyCircleCollision.scala @@ -9,7 +9,7 @@ package sims.collision import sims.dynamics._ import sims.geometry._ -/**Kollision zwischen einem konvexen Polygon und einem Kreis.*/ +/**Collision between a convex polygon and a circle.*/ case class PolyCircleCollision(p: ConvexPolygon, c: Circle) extends Collision { require(p.isInstanceOf[Shape]) val shape1 = p.asInstanceOf[Shape] @@ -33,6 +33,4 @@ case class PolyCircleCollision(p: ConvexPolygon, c: Circle) extends Collision { val points = List( c.pos - normal * c.radius ) - - } diff --git a/src/sims/collision/PolyCollision.scala b/src/sims/collision/PolyCollision.scala index 3eeb7ca..b4fa917 100644 --- a/src/sims/collision/PolyCollision.scala +++ b/src/sims/collision/PolyCollision.scala @@ -11,7 +11,7 @@ import sims.dynamics._ import scala.collection.mutable.Map import scala.collection.mutable._ -/**Kollision zwischen zwei konvexen Polygonen.*/ +/**Collision between two convex polygons.*/ case class PolyCollision(p1: ConvexPolygon, p2: ConvexPolygon) extends Collision { require(p1.isInstanceOf[Shape]) require(p2.isInstanceOf[Shape]) diff --git a/src/sims/dynamics/Body.scala b/src/sims/dynamics/Body.scala index d5b2a0e..8c0e2ee 100644 --- a/src/sims/dynamics/Body.scala +++ b/src/sims/dynamics/Body.scala @@ -1,3 +1,4 @@ + /* * Simple Mechanics Simulator (SiMS) * copyright (c) 2009 Jakob Odersky @@ -9,17 +10,17 @@ package sims.dynamics import sims.geometry._ import sims.dynamics.joints._ -/**Ein 2-Dimensionaler Koerper besteht aus mehreren Formen. Im gegensatz zu letzteren, enthaelt ein Koerper dynamische Informationen (v, F, etc...). - * @param shps zu dem Koerper gehoerende Formen.*/ +/**A two dimensional rigid body is made out of shapes. + * @param shps shapes that belong to this body.*/ class Body(shps: Shape*){ - /**Einzigartige Identifikationsnummer dieses Koerpers.*/ + /**Unique identification number.*/ val uid = Body.nextUid - /**Formen aus denen dieser Koerper besteht.*/ + /**Shapes that belong to this body.*/ val shapes: List[Shape] = shps.toList - //Formen werden bei Initialisierung eingefuegt + //Shapes are added during initialisation. for (s <- shapes) { s.body = this s.refLocalPos = s.pos - pos @@ -28,41 +29,40 @@ class Body(shps: Shape*){ private var isFixed: Boolean = false - /**Gibt an ob dieser Koerper fixiert ist.*/ + /**Returns whether this body is fixed or not.*/ def fixed = isFixed - /**Fixiert oder unfixiert diesen Koerper.*/ + /**Fixes or frees this body. By fixing, linear and angular velocities are set to zero.*/ def fixed_=(value: Boolean) = { if (value) {linearVelocity = Vector2D.Null; angularVelocity = 0.0} isFixed = value } - /**Gibt an ob die Eigenschaften dieses Koerpers ueberwacht werden sollen. + /**Flag for a world to monitor the properties of this body. * @see World#monitors*/ var monitor: Boolean = false - /**Ermittelt die Position dieses Koerpers. Die Position entspricht dem Schwerpunkt. - * @return Position dieses Koerpers*/ - def pos: Vector2D = // Shwerpunkt = sum(pos*mass)/M + /**Returns the position of this body. The position is equivalent to the center of mass. + * @return position of this body*/ + def pos: Vector2D = // COM = sum(pos*mass)/M (Vector2D.Null /: shapes)((v: Vector2D, s: Shape) => v + s.pos * s.mass) / (0.0 /: shapes)((i: Double, s: Shape) => i + s.mass) - /**Setzt die Position dieses Koerpers und verschiebt dadurch die Positionen seiner Formen. - * @param newPos neue Position*/ + /**Sets the position of this body. By doing so all its shapes are translated. + * @param newPos new position*/ def pos_=(newPos: Vector2D) = { val stepPos = pos shapes.foreach((s: Shape) => s.pos = s.pos - stepPos + newPos) } - /**Enthaelt die aktuelle Rotation dieses Koerpers.*/ - private var _rotation: Double = 0.0 //shapes(0).rotation + /**Contains the current rotation of this body.*/ + private var _rotation: Double = 0.0 - /**Ergibt die aktuelle Rotation dieses Koerpers. - * @return aktuelle Rotation dieses Koerpers*/ + /**Returns the current rotation of this body.*/ def rotation: Double = _rotation - /**Setzt die Rotation dieses Koerpers. Dazu werden auch die Positionen und Rotationen seiner Formen entsprechend veraendert. - * @param r neue Rotation*/ + /**Sets the rotation of this body. Position and rotation of shapes are modified accordingly. + * @param r new rotation*/ def rotation_=(newRotation: Double) = { _rotation = newRotation val stepPos = pos @@ -72,69 +72,67 @@ class Body(shps: Shape*){ } } - /**Lineargeschwindigkeit dieses Koerpers.*/ + /**Linear velocity of this body.*/ var linearVelocity: Vector2D = Vector2D.Null - /**Winkelgeschwindigkeit dieses Koerpers.*/ + /**Angular velocity of this body.*/ var angularVelocity: Double = 0 - /**Lineargeschwindigkeit des gegebenen Punktes auf diesem Koerper. In Weltkoordinaten.*/ + /**Linear velocity of the given point on this body (in world coordinates).*/ def velocityOfPoint(point: Vector2D) = linearVelocity + ((point - pos).leftNormal * angularVelocity) - /**Resultierende Kraft auf den Schwerpunkt dieses Koerpers.*/ + /**Resulting force on the COM of this body.*/ var force: Vector2D = Vector2D.Null - /**Resultierender Drehmoment zu dem Schwerpunkt dieses Koerpers.*/ + /**Resulting torque on this body.*/ var torque: Double = 0 - /**Ergibt die Masse dieses Koerpers. Die Masse ist gleich die Summe aller Massen seiner Formen. - * @return Masse des Koerpers*/ + /**Returns the mass of this body. If the body is free, its mass is the sum of the masses of its shapes. + * If the body is fixed, its mass is infinite (<code>Double.PositiveInfinity</code>). + * @return this body's mass*/ def mass: Double = if (fixed) Double.PositiveInfinity else (0.0 /: shapes)((i: Double, s: Shape) => i + s.mass) - /**Ergibt den Traegheitsmoment zu dem Schwerpunkt dieses Koerpers. Der Traegheitsmoment wird mit Hilfe des Steinerschen Satzes errechnet. - * @return Traegheitsmoment relativ zu dem Schwerpunkt dieses Koerpers*/ + /**Returns the moment of inertia for rotations about the COM of this body. + * It is calculated using the moments of inertia of this body's shapes and the parallel axis theorem. + * If the body is fixed, its moment of inertia is infinite (<code>Double.PositiveInfinity</code>). + * @return moment of inertia for rotations about the COM of this body*/ def I: Double = if (fixed) Double.PositiveInfinity else (0.0 /: (for (s <- shapes) yield (s.I + s.mass * ((s.pos - pos) dot (s.pos - pos)))))(_+_) - /**Wendet eine Kraft auf den Schwerpunkt dieses Koerpers an. - * @param force anzuwendender Kraftvektor*/ + /**Applies a force to the COM of this body. + * @param force applied force*/ def applyForce(force: Vector2D) = if (!fixed) this.force += force - /**Wendet eine Kraft auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses - * Koerpers ueberprueft. - * @param force anzuwendender Kraftvektor - * @param point Ortsvektor des Punktes auf den die Kraft wirken soll (gegeben in Weltkoordinaten).*/ + /**Applies a force to a point on this body. Warning: the point is considered to be contained within this body. + * @param force applied force + * @param point position vector of the point (in world coordinates)*/ def applyForce(force: Vector2D, point: Vector2D) = if (!fixed) {this.force += force; torque += (point - pos) cross force} - /**Wendet einen Impuls auf den Schwerpunkt dieses Koerpers an. - * @param impulse anzuwendender Impulsvektor*/ + /**Applies an impulse to the COM of this body. + * @param impulse applied impulse*/ def applyImpulse(impulse: Vector2D) = if (!fixed) linearVelocity += impulse / mass - /**Wendet einen Impuls auf einen Punkt dieses Koerpers an. Achtung: der gegebene Punkt wird nicht auf angehoerigkeit dieses - * Koerpers ueberprueft. - * @param impulse anzuwendender Impulsvektor - * @param point Ortsvektor des Punktes auf den der Impuls wirken soll (gegeben in Weltkoordinaten).*/ + /**Applies an impulse to a point on this body. Warning: the point is considered to be contained within this body. + * @param impulse applied impulse + * @param point position vector of the point (in world coordinates)*/ def applyImpulse(impulse: Vector2D, point: Vector2D) = if (!fixed) {linearVelocity += impulse / mass; angularVelocity += ((point - pos) cross impulse) / I} - /**Ueberprueft ob der gegebene Punkt <code>point</code> sich in diesem Koerper befindet.*/ + /**Checks if the point <code>point</code> is contained in this body.*/ def contains(point: Vector2D) = shapes.exists(_.contains(point)) override def toString: String = { "Body" + uid + " " + shapes + " fixed=" + fixed + " m=" + mass + " I=" + I + " pos=" + pos + " rot=" + rotation + " v=" + linearVelocity + " w=" + angularVelocity + " F=" + force + " tau=" + torque } - /**Erstellt einen neuen Koerper der zusaetzlich die Form <code>s</code> enthaelt. - * @param s zusaetzliche Form - * @return neuer Koerper*/ - def ^(s: Shape) = new Body((s :: shapes): _*) - - /**Erstellt einen neuen Koerper der zusaetzlich die Formen von dem Koerper <code>b</code> enthaelt. - * @param b Koerper mit zusaetzlichen Formen - * @return neuer Koerper*/ - def ^(b: Body) = { - val shapes = this.shapes ::: b.shapes - new Body(shapes: _*) - } + /**Creates a new body containing this body's shapes and the shape <code>s</code>. + * @param s new shape + * @return new body*/ + def ~(s: Shape) = new Body((s :: shapes): _*) + + /**Creates a new body containing this body's shapes and the shapes of another body <code>b</code>. + * @param b body with extra shapes + * @return new body*/ + def ~(b: Body) = new Body((this.shapes ::: b.shapes): _*) } object Body { diff --git a/src/sims/dynamics/Circle.scala b/src/sims/dynamics/Circle.scala index 26f3ad4..b1d3703 100644 --- a/src/sims/dynamics/Circle.scala +++ b/src/sims/dynamics/Circle.scala @@ -10,18 +10,16 @@ import sims.geometry._ import sims.collision._ /** - * Circle ist die Definition eines Kreises. - * @param radius Radius dieses Kreises - * @param density Dichte dieses Kreises + * A circle. + * @param radius radius of this circle + * @param density density of this circle */ -case class Circle(radius: Double, // Radius - density: Double) extends Shape{ // Dichte +case class Circle(radius: Double, density: Double) extends Shape{ val volume = Math.Pi * radius * radius val I = mass * radius * radius / 2 - // AABB(Zentrum - Radius, Zentrum + Radius) def AABB = new AABB(pos - Vector2D(radius,radius), pos + Vector2D(radius,radius)) @@ -32,6 +30,5 @@ case class Circle(radius: Double, // Radius (pos.project(axis).y / axis.y) - radius, (pos.project(axis).y / axis.y) + radius) - //Ist der gegebene punkt im Radius dieses kreises? def contains(point: Vector2D) = (point - pos).length <= radius } diff --git a/src/sims/dynamics/Constraint.scala b/src/sims/dynamics/Constraint.scala index 74c2af3..eaa6952 100644 --- a/src/sims/dynamics/Constraint.scala +++ b/src/sims/dynamics/Constraint.scala @@ -6,14 +6,16 @@ package sims.dynamics -/**Randbedingungen erben von dem Trait <code>Constraint</code>. - * Fuer jeden Constraint koennen Position und Geschwindigkeit korrigiert werden. - * Ihre Implementierung wurde von Erin Catto's box2d inspiriert.*/ +/**All constraints in SiMS implement this trait. + * Position and velocity can be corrected for each constraint. + * The implementation of constraints was inspired by Erin Catto's box2d.*/ trait Constraint { - /**Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen entsprechen.*/ + /**Corrects the velocities of bodies according to this constraint. + * @param h a time interval, used for converting forces and impulses*/ def correctVelocity(h: Double): Unit - /**Korrigiert die Position der Koerper damit diese den Randbedingungen entsprechen.*/ + /**Corrects the positions of bodies according to this constraint. + * @param h a time interval, used for converting forces and impulses*/ def correctPosition(h: Double): Unit } diff --git a/src/sims/dynamics/Rectangle.scala b/src/sims/dynamics/Rectangle.scala index adaa634..89ab4c0 100644 --- a/src/sims/dynamics/Rectangle.scala +++ b/src/sims/dynamics/Rectangle.scala @@ -9,10 +9,10 @@ package sims.dynamics import sims.geometry._ import sims.collision._ -/**Rechteck ist eine Art Polygon. - * @param halfWidth halbe Breite dieses Rechtecks - * @param halfHeight halbe Hoehe dieses Rechtecks - * @param density dichte dieses Rechtecks +/**A rectangle is a polygon. + * @param halfWidth this rectangle's half width + * @param halfHeight this rectangle's half height + * @param density density of this rectangle */ case class Rectangle(halfWidth: Double, halfHeight : Double, @@ -22,19 +22,17 @@ case class Rectangle(halfWidth: Double, val I = 1.0 / 12.0 * mass * ((2 * halfWidth) * (2 * halfWidth) + (2 * halfHeight) * (2 * halfHeight)) - /**Ergibt Vektoren vom Zentrum dieses Rectecks bis zu den Ecken. - * Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0. - * Folgende Ecken sind gegen den Uhrzeigersinn geordnet. - * @return Vektoren vom Zentrum dieses Rectecks bis zu den Ecken*/ + /**Returns the vectors from the center to the vertices of this rectangle. + * The first vertex is the upper-right vertex at a rotation of 0. + * Vertices are ordered counter-clockwise.*/ def halfDiags: Array[Vector2D] = Array(Vector2D(halfWidth, halfHeight), Vector2D(-halfWidth, halfHeight), Vector2D(-halfWidth, -halfHeight), Vector2D(halfWidth, -halfHeight)) map (_ rotate rotation) - /**Ergibt die Ortsvektoren der Ecken dieses Rechtecks. - * Erste Ecke entspricht der Ecke oben rechts bei einer Rotation von 0. - * Folgende Ecken sind gegen den Uhrzeigersinn geordnet. - * @return Ortsvektoren der Ecken dieses Rechtecks*/ + /**Returns the position vectors of this rectangle's vertices. + * The first vertex is the upper-right vertex at a rotation of 0. + * Vertices are ordered counter-clockwise.*/ def vertices = for (h <- halfDiags) yield pos + h }
\ No newline at end of file diff --git a/src/sims/dynamics/RegularPolygon.scala b/src/sims/dynamics/RegularPolygon.scala index c5b8a13..b49d100 100644 --- a/src/sims/dynamics/RegularPolygon.scala +++ b/src/sims/dynamics/RegularPolygon.scala @@ -9,17 +9,17 @@ package sims.dynamics import Math._ import sims.geometry._ -/**Ein regelmaessiges Polygon mit <code>n</code> Seiten, dass der Kreis mit radius <code>radius</code> umschreibt. - * @param n Anzahl der Seiten. - * @param radius Radius des umschreibenden Kreises. - * @param density Dichte. - */ +/**A regular polygon with <code>n</code> sides whose excircle has a radius <code>radius</code>. + * @param n nmber of sides. + * @param radius radius of the excircle + * @param density density of this regular polygon + * @throws IllegalArgumentException if <code>n</code> is smaller than 3 */ case class RegularPolygon(n: Int, radius: Double, density: Double) extends Shape with ConvexPolygon{ - require(n >= 3, "Polygon must have at least 3 sides.") + require(n >= 3, "A polygon must have at least 3 sides.") - /**Hoehe eines der konstituierneden Dreiecke des Polygons.*/ + /**Height of one of the constituting triangles.*/ private val h: Double = radius * cos(Pi / n) - /**Halbe Breite eines der konstituierneden Dreiecke des Polygons.*/ + /**Half width of one of the constituting triangles.*/ private val b: Double = radius * sin(Pi / n) def halfDiags = (for (i: Int <- (0 until n).toArray) yield (Vector2D(0, radius) rotate (2 * Pi * i / n))) map (_ rotate rotation) @@ -28,7 +28,7 @@ case class RegularPolygon(n: Int, radius: Double, density: Double) extends Shape val volume = n * h * b - /**Traegheitsmoment eines der konstituierneden Dreiecke im Zentrum des Polygons.*/ + /**Moment of inertia of one of the constituting triangles about the center of this polygon.*/ private val Ic: Double = density * b * (3 * b + 16) * h * h * h * h / 54 val I = n * Ic diff --git a/src/sims/dynamics/Shape.scala b/src/sims/dynamics/Shape.scala index f57bbc6..47a4199 100644 --- a/src/sims/dynamics/Shape.scala +++ b/src/sims/dynamics/Shape.scala @@ -10,78 +10,82 @@ import sims.geometry._ import sims.collision._ /** -* Eine abstrakte Form. +* An abstract shape. */ abstract class Shape{ - /**Einzigartige Identifikationsnummer.*/ + /**Unique identification number.*/ val uid: Int = Shape.nextUid - /**Kollisionsfaehigkeit.*/ + /**Flag determining this shapes ability to collide with other shapes.*/ var collidable: Boolean = true - /**Teil der Stosszahl bei einer Kollision zwischen dieser Form und einer anderen. - * Die Stosszahl wird aus dem Produkt der beiden Teile der Formen errechnet.*/ + /**Part of the coefficient of restitution for a collision between this shape and another. + * The coefficient of restitution is calculated out of the product of this part and the other shape's part.*/ var restitution: Double = 0.7 - /**Teil des Reibungskoeffizienten bei einer Kollision zwischen dieser Form und einer anderen. - * Der Reibungskoeffizient wird aus dem Produkt der beiden Teile der Formen errechnet.*/ + /**Part of the coefficient of friction for a collision between this shape and another. + * The coefficient of friction is calculated out of the product of this part and the other shape's part.*/ var friction: Double = 0.707 - /**Position des Schwerpunktes in Welt.*/ + /**Position of this shape's COM (in world coordinates).*/ var pos: Vector2D = Vector2D.Null - /**Rotation. Entspricht Laenge des Rotationsvektors.*/ + /**Rotation of this shape about its COM.*/ var rotation: Double = 0 - /**Initiale Rotation. (Rotation ohne Koerper)*/ + /**Initial rotation. Rotation of this shape before it was added to a body.*/ var rotation0 = 0.0 - /**Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.*/ + /**Local position of this shape's body COM to its COM at a body rotation of zero.*/ var refLocalPos: Vector2D = Vector2D.Null - /**Dichte. (Masse pro Flaeche)*/ + /**Density. (Mass per area)*/ val density: Double - /**Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.*/ + /**Volume. The volume is actually equivalent to this shape's area (SiMS is in 2D) + * and is used with this shape's density to calculate its mass.*/ val volume: Double - /**Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte. - @return Masse der Form*/ + /**Returns the mass of this shape. The mass is given by volume times density. + @return mass of this shape*/ def mass = volume * density - /**Errechnet Traegheitsmoment zum Schwerpunkt dieser Form. - @return Traegheitsmoment zum Schwerpunkt*/ + /**Moment of inertia for a rotation about this shape's COM.*/ val I: Double - /**Beinhaltender Koerper. Sollte nicht selbst bei Initialisierung definiert werden.*/ - var body: Body = _ + /**Containing body.*/ + private var _body: Body = _ - /**Gibt das umfassende AABB dieser Form zurueck. - @return umfassendes AABB*/ + /**Returns this shape's containing body.*/ + def body = _body + + /**Sets this shape's containing body.*/ + private[dynamics] def body_=(b: Body) = _body = b + + /**Returns this shape's axis aligned bounding box.*/ def AABB: AABB - /**Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den - * Richtungsvektor <code>axis</code>. - * @param axis Richtungsvektor der Geraden - * @return Projektion dieser Form*/ + /**Returns the projection of this shape onto the line given by the directional vector <code>axis</code>. + * @param axis directional vector of the line + * @return projection of this shape*/ def project(axis: Vector2D): Projection - /**Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.*/ + /**Checks if the point <code>point</code> is contained in this shape.*/ def contains(point: Vector2D): Boolean - /**Baut einen Koerper aus dieser Form. - @return ein Koerper bestehend aus dieser Form. */ + /**Creates a new body made out of tis shape. + @return a body made out of tis shape*/ def asBody = new Body(this) - /**Formen mit denen diese Form nicht Kollidiert.*/ + /**Shapes with which this shape cannot collide.*/ val transientShapes: collection.mutable.Set[Shape] = collection.mutable.Set() - /**Erstellt einen Koerper aus dieser Form und der Form <code>s</code>.*/ - def ^(s: Shape) = new Body(this, s) + /**Creates a new body out of this shape and the shape <code>s</code>.*/ + def ~(s: Shape) = new Body(this, s) - /**Erstellt einen Koerper aus dieser Form und den Formen des Koerpers <code>b</code>.*/ - def ^(b: Body) = { + /**Creates a new body out of this shape and the shapes of body <code>b</code>.*/ + def ~(b: Body) = { val shapes = this :: b.shapes new Body(shapes: _*) } diff --git a/src/sims/dynamics/World.scala b/src/sims/dynamics/World.scala index 7b165f5..0230a50 100644 --- a/src/sims/dynamics/World.scala +++ b/src/sims/dynamics/World.scala @@ -11,104 +11,107 @@ import sims.collision._ import sims.dynamics.joints._ import scala.collection.mutable._ -/**Eine Welt enthaelt und Simuliert ein System aus Koerpern und Verbindungen.*/ +/**A world contains and simulates a system of rigid bodies and joints.*/ class World { - /**Zeitschritt in dem diese Welt die Simulation vorranschreiten laesst.*/ + /**Time intervals in which this world simulates.*/ var timeStep: Double = 1.0 / 60 - /**Anzahl der Constraint-Korrekturen pro Zeitschritt.*/ + /**Number of constraint corrections per time step.*/ var iterations: Int = 10 - /**Schwerkraft die in dieser Welt herrscht.*/ + /**Gravity in this world.*/ var gravity = Vector2D(0, -9.81) - /**Alle Koerper die diese Welt simuliert.*/ + /**Bodies contained in this world.*/ val bodies = new ArrayBuffer[Body] - /**Alle Verbindungen die diese Welt simuliert.*/ + /**Joints contained in this world.*/ val joints = new ArrayBuffer[Joint] - /**Ueberwachungsfunktionen fuer Koerper. + /**Monitoring methods for bodies. * <p> - * Das erste Element des Tuples ist die Ueberschrift und das zweite Element, der Wert.*/ + * The first element of the tuple is the method's title and the second the method. + * Example usage: monitors += ("Y-Position", _.pos.y.toString) + * This will calculate all bodies - whose <code>monitor</code> field is set to + * <code>true</code> - second position components.*/ val monitors = new ArrayBuffer[(String, Body => String)] - /**Kollisionsdetektor dieser Welt.*/ + /**Collsion detector who manages collision detection in this world.*/ val detector: Detector = new GridDetector(this) - /**Warnung wenn Koerper schneller als Lichtgeschwindigkeit.*/ + /**Warning if a body's velocity exceeds the speed of light.*/ var overCWarning = false - /**Kollisionerkennung.*/ + /**Flag to enable collision detection.*/ var enableCollisionDetection = true - /**Positionskorrekturen.*/ + /**Flag to enable position correction for constraints.*/ var enablePositionCorrection = true - /**Die minimale, nicht als null geltende Geschwindigkeit.*/ + /**Minimal, non-zero linear velocity.*/ var minLinearVelocity: Double = 0.0001 - /**Die minimale, nicht als null geltende Winkelgeschwindigkeit.*/ + /**Minimal, non-zero angular velocity.*/ var minAngularVelocity: Double = 0.0001 - /**Ergibt alle Formen aus allen Koerpern in dieser Welt.*/ + /**Returns all shapes of all bodies in this world.*/ def shapes = for (b <- bodies; s <- b.shapes) yield s - /**Fuegt dieser Welt einen Koerper hinzu.*/ + /**Adds the given body to this world.*/ def +=(body: Body) = bodies += body - /**Fuegt dieser Welt eine Verbindung hinzu.*/ + /**Adds the given joint to this world.*/ def +=(joint: Joint): Unit = joints += joint - /**Fuegt dieser Welt ein vorangefertigtes System vaus Koerpern und Verbindungen hinzu.*/ + /**Adds the given prefabricated system of bodies and joints to this world.*/ def +=(p: prefabs.Prefab): Unit = { for (b <- p.bodies) this += b for (j <- p.joints) this += j } + /**Adds the given sequence of bodies to this world.*/ def ++=(bs: Seq[Body]): Unit = for(b <- bs) this += b - /**Entfernt den gegebenen Koerper aus dieser Welt.*/ + /**Removes the given body from this world.*/ def -=(body: Body): Unit = bodies -= body - /**Entfernt die gegebene Verbindung aus dieser Welt.*/ + /**Removes the given joint from this world.*/ def -=(joint: Joint): Unit = joints -= joint - /**Entfernt das gegebene System aus Koerpern und Verbindungen aus dieser Welt.*/ + /**Removes the given prefabricated system of bodies and joints from this world.*/ def -=(p: prefabs.Prefab): Unit = { for (b <- p.bodies) this -= b for (j <- p.joints) this -= j } + /**Removes the given sequence of bodies from this world.*/ def --=(bs: Seq[Body]) = for(b <- bs) this -= b - /**Entfernt alle Koerper, Verbindungen und Ueberwachungsfunktionen dieser Welt.*/ + /**Removes all bodies, joints and monitoring methods from this world.*/ def clear() = {joints.clear(); bodies.clear(); monitors.clear()} - /**Aktuelle Zeit in Sekunden dieser Welt. Nach jedem Zeitschritt wird die Zeit erhoeht.*/ + /**Current time in this world.*/ var time: Double = 0.0 - /**Simuliert einen von <code>timeStep</code> angegebenen Zeitschritt. - * Ihre Aufgabe ist es die Koerper dieser Welt so zu simulieren wie diese sich in einer Welt mit den gegebenen - * Bedingungen verhalten wuerden. + /**Simulates a time step of the duration <code>timeStep</code>. * <p> - * Der Zeitschritt wird in folgenden Phasen ausgefuehrt: + * The time step is simulated in the following phases: * <ol> - * <li>Kraefte wirken auf die Koerper (z.B Schwerkraft, andere Kraftfaehige Objekte).</li> - * <li>Beschleunigungen werden integriert.</li> - * <li>Geschwindigkeiten werden korrigiert.</li> - * <li>Geschwindigkeiten werden integriert.</li> - * <li>Positionen werden korrigiert.</li> - * <li>Die Methode <code>postStep()</code> wird ausgefuehrt.</li> + * <li>Forces are applied to bodies.</li> + * <li>Accelerations are integrated.</li> + * <li>Velocities are corrected.</li> + * <li>Velocities are integrated.</li> + * <li>Postions are corrected.</li> + * <li>The method <code>postStep()</code> is executed.</li> * </ol>*/ def step() = { time += timeStep - //Kraftobjekte + //force applying objects for (j <- joints) j match {case f: ForceJoint => f.applyForce; case _ => ()} - //integriert v + //integration of acclerations, yields velocities for (b <- bodies) { val m = b.mass b.applyForce(gravity * b.mass) @@ -118,13 +121,13 @@ class World { b.angularVelocity = b.angularVelocity + alpha * timeStep } - //korrigiert v + //correction of velocities for (i <- 0 until iterations){ for(c <- joints) c.correctVelocity(timeStep) if (enableCollisionDetection) for (c <- detector.collisions) c.correctVelocity(timeStep) } - //integriert pos + //integration of velocities, yields positions for (b <- bodies) { //warning when body gets faster than speed of light if (b.linearVelocity.length >= 300000000) overCWarning = true @@ -136,7 +139,7 @@ class World { b.torque = 0.0 } - //korrigiert pos + //correction of positions if (enablePositionCorrection) for (i <- 0 until iterations){ for (c <- joints) c.correctPosition(timeStep) if (enableCollisionDetection) for (c <- detector.collisions) c.correctPosition(timeStep) @@ -145,10 +148,11 @@ class World { postStep() } - /**Wird nach jedem Zeitschritt ausgefuehrt.*/ + /**Initially empty method that is executed after each time step. This method + * may be overriden to create custom behaviour in a world.*/ def postStep() = {} - /**Ergibt Informationen ueber diese Welt.*/ + /**Returns information about this world.*/ def info = { "Bodies = " + bodies.length + "\n" + "Shapes = " + shapes.length + "\n" + diff --git a/src/sims/dynamics/joints/DistanceJoint.scala b/src/sims/dynamics/joints/DistanceJoint.scala index 2d5633f..efb49e5 100644 --- a/src/sims/dynamics/joints/DistanceJoint.scala +++ b/src/sims/dynamics/joints/DistanceJoint.scala @@ -8,15 +8,15 @@ package sims.dynamics.joints import sims.geometry._ -/** DistanceJoints halten die Bindungspunkte auf ihren Bindungskoerpern bei einem konstanten Abstand. - * @param node1 erster Koerper der Verbindung - * @param anchor1 Bindungspunkt auf Koerper eins - * @param node2 zweiter Koerper der Verbindung - * @param anchor2 Bindungspunkt auf Koerper zwei*/ +/** DistanceJoints keep their connection points at a constant distance. + * @param node1 first associated body + * @param anchor1 first connection point + * @param node2 second associated body + * @param anchor2 second connection point*/ case class DistanceJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vector2D) extends Joint{ def this(node1: Body, node2: Body) = this(node1, node1.pos, node2, node2.pos) - /**Abstand der beiden Bindungspunkte bei initialisierung (der gewollte Abstand).*/ + /**Distance between the two connection points at initialisation (the desired distance).*/ val distance = (anchor2 - anchor1).length private val a1 = anchor1 - node1.pos @@ -24,16 +24,16 @@ case class DistanceJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: V private val initRotation1 = node1.rotation private val initRotation2 = node2.rotation - /**Ergibt den Bindungspunkt auf Koerper eins.*/ + /**Returns the connection point on body one (in world coordinates).*/ def connection1 = (a1 rotate (node1.rotation - initRotation1)) + node1.pos - /**Ergibt den Bindungspunkt auf Koerper zwei.*/ + /**Returns the connection point on body two (in world coordinates).*/ def connection2 = (a2 rotate (node2.rotation - initRotation2)) + node2.pos - /**Relative Position der Bindungspunkte.*/ + /**Relative position of the connection points.*/ def x = connection2 - connection1 - /**Relative Geschwindigkeit der Bindungspunkte.*/ + /**Relative velocity of the connection points.*/ def v = node2.velocityOfPoint(connection2) - node1.velocityOfPoint(connection1) /* x = connection2 - connection1 @@ -45,15 +45,15 @@ case class DistanceJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: V * 1/m = J * M^-1 * JT * = 1/m1 * u * u + 1/m2 * u * u + 1/I1 * (r1 cross u)^2 + 1/I2 * (r2 cross u)^2*/ override def correctVelocity(h: Double) = { - val x = this.x //relativer Abstand - val v = this.v //relative Geschwindigkeit - val r1 = (connection1 - node1.pos) //Abstand Punkt-Schwerpunkt, Koerper 1 - val r2 = (connection2 - node2.pos) //Abstand Punkt-Schwerpunkt, Koerper 2 - val cr1 = r1 cross x.unit //Kreuzprodukt - val cr2 = r2 cross x.unit //Kreuzprodukt - val Cdot = x.unit dot v //Velocity-Constraint + val x = this.x //relative position + val v = this.v //relative velocity + val r1 = (connection1 - node1.pos) + val r2 = (connection2 - node2.pos) + val cr1 = r1 cross x.unit + val cr2 = r2 cross x.unit + val Cdot = x.unit dot v //velocity constraint 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 //Test um Nulldivision zu vermeiden + val m = if (invMass == 0.0) 0.0 else 1/invMass //avoid division by zero val lambda = -m * Cdot //=-JV/JM^-1JT val impulse = x.unit * lambda //P=J lambda node1.applyImpulse(-impulse, connection1) diff --git a/src/sims/dynamics/joints/ForceJoint.scala b/src/sims/dynamics/joints/ForceJoint.scala index fa17eac..1eed850 100644 --- a/src/sims/dynamics/joints/ForceJoint.scala +++ b/src/sims/dynamics/joints/ForceJoint.scala @@ -6,9 +6,9 @@ package sims.dynamics.joints -/**Eine Verbindung die Kraft auf ihre Bindungskoerper ausueben kann.*/ +/**A joint which can apply a force to its anchor bodies, thus adding or removing energy to the system.*/ trait ForceJoint { - /**Uebt eine Kraft auf die Bindungskoerper aus.*/ + /**Applies a force on the achor bodies.*/ def applyForce(): Unit } diff --git a/src/sims/dynamics/joints/Joint.scala b/src/sims/dynamics/joints/Joint.scala index 9690af2..652df97 100644 --- a/src/sims/dynamics/joints/Joint.scala +++ b/src/sims/dynamics/joints/Joint.scala @@ -9,19 +9,19 @@ 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.*/ +/**Joints constrain the movement of two bodies. + * Their implementation was inspired by Erin Catto's box2d.*/ abstract class Joint extends Constraint{ - /**Erster Koerper der Verbindung.*/ + /**First body of the joint.*/ val node1: Body - /**Zweiter Koerper der Verbindung.*/ + /**Second body of the joint.*/ val node2: Body - /**Korrigiert die Geschwindigkeit der Koerper damit diese den Randbedingungen der Verbindung entsprechen.*/ + /**Corrects the velocities of this joint's associated bodies.*/ def correctVelocity(h: Double): Unit - /**Korrigiert die Position der Koerper damit diese den Randbedingungen der Verbindung entsprechen.*/ + /**Corrects the positions of this joint's associated bodies.*/ def correctPosition(h: Double): Unit }
\ No newline at end of file diff --git a/src/sims/dynamics/joints/RevoluteJoint.scala b/src/sims/dynamics/joints/RevoluteJoint.scala index 7a7ae1c..66a4c06 100644 --- a/src/sims/dynamics/joints/RevoluteJoint.scala +++ b/src/sims/dynamics/joints/RevoluteJoint.scala @@ -11,7 +11,9 @@ import sims.math._ import sims.dynamics._ import Math._ -/**Ein Gelenk, dass zwei Koerper an einem Punkt verbindet. Inspiriert von JBox2D.*/ +/**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 + * bodies and not connected at their respective COMs.*/ case class RevoluteJoint(node1: Body, node2: Body, anchor: Vector2D) extends Joint{ private val a1 = anchor - node1.pos private val a2 = anchor - node2.pos diff --git a/src/sims/dynamics/joints/SpringJoint.scala b/src/sims/dynamics/joints/SpringJoint.scala index 67ea57f..1267ccf 100644 --- a/src/sims/dynamics/joints/SpringJoint.scala +++ b/src/sims/dynamics/joints/SpringJoint.scala @@ -8,13 +8,13 @@ package sims.dynamics.joints import sims.geometry._ -/**Eine Hooksche Feder. - * @param node1 erster Koerper der Verbindung - * @param anchor1 Bindungspunkt auf Koerper eins - * @param node2 zweiter Koerper der Verbindung - * @param anchor2 Bindungspunkt auf Koerper zwei - * @param springConstant Federkonstante - * @param initialLength Initiallaenge +/**A spring obeying Hooke's law. + * @param node1 first associated body + * @param anchor1 first connection point + * @param node2 second associated body + * @param anchor2 second connection point + * @param springConstant spring constant + * @param initialLength initial length */ case class SpringJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vector2D, springConstant: Double, initialLength: Double) extends Joint with ForceJoint{ @@ -34,25 +34,25 @@ case class SpringJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vec private val initRotation1 = node1.rotation private val initRotation2 = node2.rotation - /**Ergibt den Bindungspunkt auf Koerper eins.*/ + /**Returns the connection point on body one (in world coordinates).*/ def connection1 = (a1 rotate (node1.rotation - initRotation1)) + node1.pos - /**Ergibt den Bindungspunkt auf Koerper zwei.*/ + /**Returns the connection point on body two (in world coordinates).*/ def connection2 = (a2 rotate (node2.rotation - initRotation2)) + node2.pos - /**Daempfung.*/ + /**Damping.*/ var damping = 0.0 - /**Relative Position der Bindungspunkte.*/ + /**Relative position of the connection points.*/ def x = connection2 - connection1 - /**Relative Geschwindigkeit der Bindungspunkte.*/ + /**Relative velocity of the connection points.*/ def v = node2.velocityOfPoint(connection2) - node1.velocityOfPoint(connection1) - /**Ergibt die Federkraft nach dem Hookschen Gesetz.*/ + /**Returns the spring force.*/ def force = (x.length - initialLength) * springConstant - /**Uebt die Federkraft auf die Bindungspunkte aus.*/ + /**Applies the spring force to the connection points.*/ def applyForce() = { node1.applyForce(x.unit * force - (v * damping) project x, connection1) node2.applyForce(-x.unit * force - (v * damping) project x, connection2) @@ -61,15 +61,15 @@ case class SpringJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: Vec def correctVelocity(h: Double) = { /* - val x = this.x //relativer Abstand - val v = this.v //relative Geschwindigkeit - val r1 = (connection1 - node1.pos) //Abstand Punkt-Schwerpunkt, Koerper 1 - val r2 = (connection2 - node2.pos) //Abstand Punkt-Schwerpunkt, Koerper 2 - val cr1 = r1 cross x.unit //Kreuzprodukt - val cr2 = r2 cross x.unit //Kreuzprodukt - val Cdot = x.unit dot v //Velocity-Constraint + val x = this.x + val v = this.v + val r1 = (connection1 - node1.pos) + val r2 = (connection2 - node2.pos) + val cr1 = r1 cross x.unit + val cr2 = r2 cross x.unit + 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 //Test um Nulldivision zu vermeiden + 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) println (force * h, -m * Cdot) val impulse = x.unit * lambda diff --git a/src/sims/dynamics/joints/test/PrismaticJoint.scala b/src/sims/dynamics/joints/test/PrismaticJoint.scala index f163261..d4b43b2 100644 --- a/src/sims/dynamics/joints/test/PrismaticJoint.scala +++ b/src/sims/dynamics/joints/test/PrismaticJoint.scala @@ -15,10 +15,8 @@ case class PrismaticJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: def connection1 = (a1 rotate (node1.rotation - initRotation1)) + node1.pos def connection2 = (a2 rotate (node2.rotation - initRotation2)) + node2.pos - /**Relative Position der Bindungspunkte.*/ def x = connection2 - connection1 - /**Relative Geschwindigkeit der Bindungspunkte.*/ def v = node2.velocityOfPoint(connection2) - node1.velocityOfPoint(connection1) @@ -28,13 +26,13 @@ case class PrismaticJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: } def correctLinear(h: Double) = { - val x = this.x.unit //relativer Abstand + val x = this.x.unit val n0 = x.leftNormal - val v = this.v //relative Geschwindigkeit - val r1 = (connection1 - node1.pos) //Abstand Punkt-Schwerpunkt, Koerper 1 - val r2 = (connection2 - node2.pos) //Abstand Punkt-Schwerpunkt, Koerper 2 - val cr1 = r1 cross n0 //Kreuzprodukt - val cr2 = r2 cross n0 //Kreuzprodukt + val v = this.v + val r1 = (connection1 - node1.pos) + val r2 = (connection2 - node2.pos) + val cr1 = r1 cross n0 + val cr2 = r2 cross n0 val Cdot = n0 dot v val invMass = 1/node1.mass + 1/node1.I * cr1 * cr1 + 1/node2.mass + 1/node2.I * cr2 * cr2 val m = if (invMass == 0.0) 0.0 else 1/invMass @@ -57,13 +55,13 @@ case class PrismaticJoint(node1: Body, anchor1: Vector2D, node2: Body, anchor2: def correctPosition(h: Double) = { /* - val x = this.x.unit //relativer Abstand + val x = this.x.unit val n0 = x.leftNormal - val v = this.v //relative Geschwindigkeit - val r1 = (connection1 - node1.pos) //Abstand Punkt-Schwerpunkt, Koerper 1 - val r2 = (connection2 - node2.pos) //Abstand Punkt-Schwerpunkt, Koerper 2 - val cr1 = r1 cross n0 //Kreuzprodukt - val cr2 = r2 cross n0 //Kreuzprodukt + val v = this.v + val r1 = (connection1 - node1.pos) + val r2 = (connection2 - node2.pos) + val cr1 = r1 cross n0 + val cr2 = r2 cross n0 val C = n0 dot x val invMass = 1/node1.mass + 1/node1.I * cr1 * cr1 + 1/node2.mass + 1/node2.I * cr2 * cr2 val m = if (invMass == 0.0) 0.0 else 1/invMass diff --git a/src/sims/geometry/ConvexPolygon.scala b/src/sims/geometry/ConvexPolygon.scala index 7bf881c..cb4a429 100644 --- a/src/sims/geometry/ConvexPolygon.scala +++ b/src/sims/geometry/ConvexPolygon.scala @@ -9,21 +9,20 @@ package sims.geometry import sims.collision._ import sims.geometry._ -/**Gemeinsame Eigenschaften aller konvexen Polygone.*/ +/**Common properties of all convex polygons.*/ trait ConvexPolygon { - /**Ergibt Position aller Ecken dieses Polygons. Die Ecken sind gegen den Uhrzeigersinn folgend. - * @return Ortsvektoren der Ecken*/ + /**Returns positions of all vertices of this Polygon. Vertices are ordered counter-clockwise. + * @return position vectors of the vertices*/ def vertices: Seq[Vector2D] - /**Ergibt alle Seiten dieses Polygons. - * @return Seiten dieses Polygons*/ + /**Returns all sides of this polygon. The sides are ordered counter-clockwise, the first vertex of the side + * giving the side index.*/ def sides = (for (i <- 0 until vertices.length) yield (new Segment(vertices(i), vertices((i + 1) % vertices.length)))).toArray - /**Ergibt die Projektion dieses Polygons auf eine Gerade gegeben durch den - * Richtungsvektor <code>axis</code> - * @param axis Richtungsvektor der Geraden - * @return Projektion dieses Polygons*/ + /**Returns the projection of this polygon onto the line given by the directional vector <code>axis</code>. + * @param axis directional vector of the line + * @return projection of this polygon*/ def project(axis: Vector2D) = { 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} @@ -32,8 +31,7 @@ trait ConvexPolygon { (bounds(0) /: bounds)(Math.max(_,_))) } - /**Errechnet das AABB dieses Polygons - * @return umfassendes AABB + /**Returns this polygon's axis aligned bounding box. * @see collision.AABB*/ def AABB = { val xs = vertices map (_.x) @@ -42,15 +40,12 @@ trait ConvexPolygon { Vector2D(Iterable.max(xs), Iterable.max(ys))) } - /**Ueberprueft ob sich der gegebene Punkt <code>point</code> in diesem Polygon befindet. + /**Checks if the point <code>point</code> is contained in this polygon. * <p> - * Hierzu wird eine Halbgerade von dem Punkt in Richtung der X-Achse gezogen (koennte aber auch beliebig sein). - * Dann wird die Anzahl der Ueberschneidungen der Halbgeraden mit den Seiten und Ecken des Polygons ermittelt. - * Ist die Anzahl der Ueberschneidungen ungerade, so befindet sich der Punkt in dem Polygon. - * Es gibt jedoch Ausnahmen, und zwar wenn die Halbgerade eine Ecke ueberschneidet, ueberschneidet sie sowohl auch zwei Seiten. - * Daher wird eine generelle Anzahl von Uerberschneidungen errechnet, gegeben durch die Anzahl der Ueberschneidungen mit den Seiten minus - * die mit den Ecken. - * Diese Zahl wird dann wie oben geschildert geprueft.*/ + * A ray is created, originating from the point and following an arbitrary direction (X-Axis was chosen). + * The number of intersections between the ray and this polygon's sides (including vertices) is counted. + * The amount of intersections with vertices is substracted form the previuos number. + * If the latter number is odd, the point is contained in the polygon.*/ def contains(point: Vector2D) = { val r = new Ray(point, Vector2D.i) var intersections = 0 diff --git a/src/sims/geometry/Projection.scala b/src/sims/geometry/Projection.scala index 5f2d0f0..0c340f0 100644 --- a/src/sims/geometry/Projection.scala +++ b/src/sims/geometry/Projection.scala @@ -8,25 +8,26 @@ package sims.geometry import sims.math._ -/**Projektion auf eine Achse. +/**Projection on an axis. * <p> - * Ueblicherweise werden Projektionen in SiMS fuer Kollisionserkennung benutzt. - * @param axis Achse der Projektion - * @param lower unterer Wert der Projektion - * @param upper oberer Wert der Projektion*/ + * Projections are commonly used in SiMS for collision detection. + * @param axis directional vector of the axis of the projection + * @param lower lower value of the projection + * @param upper upper value of the projection*/ case class Projection(axis: Vector2D, lower: Double, upper: Double) { - require(axis != Vector2D.Null) + require(axis != Vector2D.Null, "A projection's axis cannot be given by a null vector!") - /**Ueberprueft ob sich diese Projektion mit der Projektion <code>other</code> ueberschneidet.*/ + /**Checks this projection for overlap with another projection <code>other</code>. + * @throws IllegalArgumentExcepion if both projections axes aren't the same*/ def overlaps(other: Projection): Boolean = { require(axis == other.axis, "Cannot compare two projections on different axes!") !((other.lower - this.upper) > 0 || (this.lower - other.upper) > 0) } - - /**Ergibt die Ueberlappung dieser Projektion und der Projektion <code>other</code>.*/ + /**Returns the overlap between this projection and another projection <code>other</code>. + * @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 diff --git a/src/sims/geometry/Ray.scala b/src/sims/geometry/Ray.scala index c898e03..feb18a9 100644 --- a/src/sims/geometry/Ray.scala +++ b/src/sims/geometry/Ray.scala @@ -9,16 +9,16 @@ package sims.geometry import sims.math._ import Math._ -/**Eine Halbgerade wird definiert durch: - * @param point ein Aufpunkt - * @param direction ein Richtungsvektor*/ +/**A ray. + * @param point a point on the ray + * @param direction this ray's directional vector + * @throws IllegalArgumentException if the directional vector is the null vector*/ case class Ray(point: Vector2D, direction: Vector2D) { - //Ein Nullvektor hat keine Richtung - require(direction != Vector2D.Null) + require(direction != Vector2D.Null, "A ray's direction cannot be given by a null vector!") - /**Ueberprueft ob diese Halbgerade das gegebene Segment ueberschneidet. - * @param das auf Ueberschneidung zu uerberpruefende Segment*/ + /**Checks this ray and the given segment for intersection. + * @param s the segment to test for intersection*/ def intersects(s: Segment) = { val p1 = point val p2 = point + direction @@ -38,11 +38,7 @@ case class Ray(point: Vector2D, direction: Vector2D) { } } - /**Ueberprueft ob diese Halbgerade den gegebenen Punkt enthaelt. - * <br> - * Hierzu wird der Vektor von dem Ursprungspunkt zu dem zu ueberpruefenden Punkt gebildet. Dieser wird dann mit dem Richtungsvektor - * auf Kolinearitaet geprueft. - * @param p Ortsvektor des oben genannten Punkt*/ + /**Checks if this ray contains the point <code>p</code>.*/ def contains(p: Vector2D) = { val v = p - point p == point || diff --git a/src/sims/geometry/Segment.scala b/src/sims/geometry/Segment.scala index 8700979..4aaec21 100644 --- a/src/sims/geometry/Segment.scala +++ b/src/sims/geometry/Segment.scala @@ -6,37 +6,39 @@ package sims.geometry -/**Ein Segment wird durch seine beiden Extrempunkte gegeben. - * @param vertex1 Ortsvektor des 1. Extrempunkts - * @param vertex2 Ortsvektor des 2. Extrempunkts*/ +/**A segment is given by its vertices. + * @param vertex1 position vector of the first vertex + * @param vertex2 position vector of the second vertex + * @throws IllegalArgumentException if both vertices are equal + */ case class Segment(vertex1: Vector2D, vertex2: Vector2D){ require(vertex1 != vertex2, "A segment must have 2 distinct vertices!") - /**Laenge dieses Segments.*/ + /**Length of this segment.*/ val length = (vertex2 - vertex1).length - /**Vektor von EP1 zu EP2.*/ + /**Vector from <code>vertex1</code> to <code>vertex2</code>.*/ val d = vertex2 - vertex1 - /**Einheitsrichtungsvektor.*/ + /**Unit directional vector.*/ val d0 = d.unit - /**Normalenvektor. Richtung: 90 Grad rechts zu d.*/ + /**Right normal vector.*/ val n = d.rightNormal - /**Normaleneinheitsvektor. Richtung: 90 Grad rechts zu d.*/ + /**Right normal unit vector.*/ val n0 = n.unit - /**Kleinster Abstand zwischen diesem Segment und dem Punkt <code>p</code>.*/ + /**Smallest distance between this segment and the point <code>point</code>.*/ def distance(point: Vector2D): Double = { - val v = point - vertex1 //Vektor von EP1 zu point + val v = point - vertex1 //vector from vertex1 to point val projection = v project d val alpha = if (d.x != 0) d.x / projection.x else d.y / projection.y - if (alpha >= 0 && projection.length <= length) //Punkt ist naeher zu der Geraden zwischen EP1 und EP2 + if (alpha >= 0 && projection.length <= length) //point is closer to line between vertex1 and vertex2 (v project n0).length - else if (alpha < 0) //Punkt ist naeher zu EP1 + else if (alpha < 0) //point is closer to vertex1 (point - vertex1).length - else if (alpha > 0) //Punkt ist naeher zu EP2 + else if (alpha > 0) //point is closer to vertex2 (point - vertex2).length else throw new IllegalArgumentException("Error occured trying to compute distance between segment and point.") diff --git a/src/sims/geometry/Vector2D.scala b/src/sims/geometry/Vector2D.scala index 03d1ea4..4468a90 100644 --- a/src/sims/geometry/Vector2D.scala +++ b/src/sims/geometry/Vector2D.scala @@ -8,54 +8,40 @@ package sims.geometry import scala.Math._ -/**Ein 2-dimensionaler Vektor. - * @param x 1. Komponente - * @param y 2. Komponente*/ +/**A 2D vector. + * @param x 1st component + * @param y 2nd component*/ case class Vector2D(x: Double, y: Double) { - /**Vektoraddition. - * @param v zu addierender Vektor - * @return dieser Vektor addiert mit <code>v</code>*/ + /**Vector addition.*/ def +(v: Vector2D): Vector2D = Vector2D(x + v.x, y + v.y) - /**Vektorsubstraktion. - * @param v zu substrahierender Vektor - * @return dieser Vektor substrahiert mit <code>v</code>*/ + /**Vector substraction.*/ def -(v: Vector2D): Vector2D = this + (v * -1) - /**Multiplikation mit einem Skalar. - * @param n Faktor - * @return dieser Vektor multipliziert mit <code>n</code>*/ + /**Scalar multiplication.*/ def *(n: Double): Vector2D = Vector2D(x * n, y * n) - /**Division durch ein Skalar. - * @param n Nenner - * @return dieser Vektor dividiert durch <code>n</code>*/ + /**Scalar division.*/ def /(n: Double): Vector2D = this * (1/n) - /**Minusvorzeichen.*/ + /**Unary minus.*/ def unary_- : Vector2D = Vector2D(-x, -y) - /**Skalarprodukt. - * @param v ein anderer Vektor - * @return Skalarprodukt von diesem Vektor mit <code>v</code>*/ + /**Dot product.*/ def dot(v: Vector2D): Double = x * v.x + y * v.y - /**Kreuzprodukt. (Norm des Kreuzproduktes) - * @param v ein anderer Vektor - * @return Norm des Kreuzproduktes dieses Vektors mit <code>v</code>. Die Richtung wuerde der x3-Achse entsprechen.*/ + /**Cross product. Length only because in 2D. The direction would be given by the x3-axis.*/ def cross(v: Vector2D): Double = x * v.y - y * v.x - /**Norm dieses Vektors.*/ + /**Norm or length of this vector.*/ val length: Double = Math.sqrt(x * x + y * y) - /**Einheitsvektor dieses Vektors.*/ + /**Unit vector.*/ def unit: Vector2D = if (!(x == 0.0 && y == 0.0)) Vector2D(x / length, y / length) else throw new IllegalArgumentException("Null vector does not have a unit vector.") - /**Errechnet die Projektion dieses- auf einen anderen Vektor. - * @param v oben gennanter Vektor - * @return Projektion dieses Vektors auf <code>v</code>*/ + /**Returns the projection of this vector onto the vector <code>v</code>.*/ def project(v: Vector2D): Vector2D = { if (v != Vector2D.Null) v * ((this dot v) / (v dot v)) @@ -63,37 +49,35 @@ case class Vector2D(x: Double, y: Double) { Vector2D.Null } - /**Errechnet eine Rotation dieses Vektors. - * @param angle Winkel in Radian - * @return der um <code>angle</code> rad rotierte Vektor*/ + /**Returns a rotation of this vector by <code>angle</code> radian.*/ def rotate(angle: Double): Vector2D = { Vector2D(cos(angle) * x - sin(angle) * y, cos(angle) * y + sin(angle) * x) } - /**Linker Normalenvektor. (-y, x)*/ + /**Left normal vector. (-y, x)*/ def leftNormal: Vector2D = Vector2D(-y, x) - /**Rechter Normalenvektor. (y, -x)*/ + /**Right normal vector. (y, -x)*/ def rightNormal: Vector2D = Vector2D(y, -x) - /**Ueberprueft, ob die Komponenten dieses Vektors gleich Null sind.*/ + /**Checks if this vector is the null vector.*/ def isNull: Boolean = this == Vector2D.Null - /**Ergibt eine Liste der Komponenten dieses Vektors.*/ + /**Returns a list of this vector's components.*/ def components = List(x, y) } -/**Dieses Objekt enthaelt spezielle Vektoren.*/ +/**Contains special vectors.*/ object Vector2D { - /**Nullvektor.*/ + /**Null vector.*/ val Null = Vector2D(0,0) - /**Ein horizontaler Einheitsvektor mit den Komponenten (1;0).*/ + /**Horizontal unit vector. (1,0)*/ val i = Vector2D(1,0) - /**Ein vertikaler Einheitsvektor mit den Komponenten (0;1).*/ + /**Vertical unit vector. (0,1)*/ val j = Vector2D(0,1) } diff --git a/src/sims/materials/Steel.scala b/src/sims/materials/Steel.scala index 71594b8..1d14563 100644 --- a/src/sims/materials/Steel.scala +++ b/src/sims/materials/Steel.scala @@ -2,4 +2,4 @@ package sims.materials object Steel { -} +}
\ No newline at end of file diff --git a/src/sims/math/Matrix22.scala b/src/sims/math/Matrix22.scala index b10e02a..54d24c7 100644 --- a/src/sims/math/Matrix22.scala +++ b/src/sims/math/Matrix22.scala @@ -8,22 +8,20 @@ package sims.math import sims.geometry._ -/**Eine 2x2, quadratische Matrix. - * @param c11 Komponente 1,1 - * @param c12 Komponente 1,2 - * @param c21 Komponente 2,1 - * @param c22 Komponente 2,2 +/**A 2x2 matrix. + * @param c11 component 1,1 + * @param c12 component 1,2 + * @param c21 component 2,1 + * @param c22 component 2,2 */ case class Matrix22(c11: Double, c12: Double, c21: Double, c22: Double) { - /**Eine 2x2-dimensionale, quadratische Matrix kann auch mit zwei 2-dimensionalen - * Vektoren erstellt werden. In diesem Fall repraesentiert jeder Vektor eine Spalte. - * @param c1 erste Spalte - * @param c2 zweite Spalte*/ + /**A 2x2 matrix can be created with two 2D vectors. In this case, each column is represented by a vector. + * @param c1 first column + * @param c2 second column*/ def this(c1: Vector2D, c2: Vector2D) = this(c1.x, c2.x, c1.y, c2.y) - /**Ergibt die Determinante dieser Matrix. - * @return Determinante dieser Matrix*/ + /**Determinant of this matrix.*/ def det = c11 * c22 - c21 * c12 /**Addition.*/ @@ -31,17 +29,17 @@ case class Matrix22(c11: Double, c12: Double, c21: Double, c22: Double) { new Matrix22(c11 + m.c11, c12 + m.c12, c21 + m.c21, c22 + m.c22) - /**Multiplikation mit einem Skalar.*/ + /**Scalar multiplication.*/ def *(n: Double) = new Matrix22(c11 * n, c12 * n, c21 * n, c22 * n) - /**Multiplikation mit einer anderen 2x2-Matrix.*/ + /**Matrix multiplication.*/ def *(m: Matrix22) = new Matrix22(c11 * m.c11 + c12 * m.c21, c11 * m.c12 + c12 * m.c22, c21 * m.c11 + c22 * m.c21, c21 * m.c12 + c22 * m.c22) - /**Multiplikation mit einer 2x1-Matrix (2-dimensionaler Vektor).*/ + /**Multiplikation with a 2D vector.*/ def *(v: Vector2D) = new Vector2D(c11 * v.x + c12 * v.y, c21 * v.x + c22 * v.y) diff --git a/src/sims/util/Polar.scala b/src/sims/util/Polar.scala index 931be08..c4009b5 100644 --- a/src/sims/util/Polar.scala +++ b/src/sims/util/Polar.scala @@ -9,9 +9,9 @@ package sims.util import sims.geometry._ import scala.Math._ -/**Polare Koordinaten.*/ +/**Polar coordinates.*/ case class Polar(distance: Double, angle: Double) { - /**Ergibt die Vektorrepraesantation dieser polaren Koordinaten.*/ + /**Returns the vector representation of these polar coordinates.*/ def toCarthesian = Vector2D(distance * sin(angle), distance * cos(angle)) } diff --git a/src/sims/util/Positioning.scala b/src/sims/util/Positioning.scala index 433feaf..cf72276 100644 --- a/src/sims/util/Positioning.scala +++ b/src/sims/util/Positioning.scala @@ -9,7 +9,7 @@ package sims.util import sims.geometry._ import sims.dynamics._ -/**Objekt mit Hiflsfunktionen fuer komfortables Positionieren von Koerpern.*/ +/**Utility functions for comfortable positioning of bodies.*/ object Positioning { implicit def int2RelativeVector(x: Int): RelativeVector = new RelativeVector(x, 0) |