diff options
Diffstat (limited to 'doc/sims/dynamics/Rectangle.html')
-rw-r--r-- | doc/sims/dynamics/Rectangle.html | 1004 |
1 files changed, 586 insertions, 418 deletions
diff --git a/doc/sims/dynamics/Rectangle.html b/doc/sims/dynamics/Rectangle.html index df238de..63ef89d 100644 --- a/doc/sims/dynamics/Rectangle.html +++ b/doc/sims/dynamics/Rectangle.html @@ -1,430 +1,598 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> - <head><title>class Rectangle in sims.dynamics</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> + <title>Scaladoc for sims.dynamics.Rectangle</title> + <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> + <script type="text/javascript" src="../../lib/jquery.js"></script> + + <style type="text/css"> + @import url(../../lib/template.css) screen; + </style> + <script type="text/javascript" src="../../lib/template.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$package.html" target="_self">sims.dynamics</a> - <br></br> - <span class="entity">class Rectangle</span> - </div><hr></hr> - <div class="source"> - [source: <a href="" class="sims/dynamics/Rectangle"><code>sims/dynamics/Rectangle.scala</code></a>] - </div><hr></hr> - <a name="Rectangle"></a><dl> - <dt> - - <code>case</code> - <code>class</code> - <em>Rectangle</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>) - </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>A rectangle is a polygon.</dd></dl> - <dl><dt style="margin:10px 0 0 20px;"> - <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> - </dl><hr></hr> + <body class="type"> + <p id="owner"><a href="../package.html">sims</a>.<a href="package.html">dynamics</a></p> -<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/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>Moment of inertia for a rotation about this shape's COM.</div> - </td> - </tr> -<tr> - <td class="modifiers" valign="top"> - <code> val</code> - </td> - <td class="signature"> - <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>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"> - <tr><td class="title" colspan="2"> - 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#transientShapes" target="_self">transientShapes</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="../../sims/dynamics/Rectangle.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> def</code> - </td> - <td class="signature"> - <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>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> - <td class="modifiers" valign="top"> - <code>override def</code> - </td> - <td class="signature"> - <em><a href="../../sims/dynamics/Rectangle.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/Rectangle.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/Rectangle.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/Rectangle.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/Rectangle.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/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>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"> - <tr><td class="title" colspan="2"> - Methods inherited from <a href="../../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a> - </td></tr> - <tr><td class="signature" colspan="2"> - <a href="../../sims/geometry/ConvexPolygon.html#sides" target="_self">sides</a>, <a href="../../sims/geometry/ConvexPolygon.html#project%28sims.geometry.Vector2D%29" target="_self">project</a>, <a href="../../sims/geometry/ConvexPolygon.html#AABB" target="_self">AABB</a>, <a href="../../sims/geometry/ConvexPolygon.html#contains%28sims.geometry.Vector2D%29" target="_self">contains</a> - </td></tr> - </table><table summary="" cellpadding="3" class="inherited"> - <tr><td class="title" colspan="2"> - 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#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"> - 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> - + <div id="definition"> + <img src="../../lib/class_big.png" /> + <h1>Rectangle</h1> + </div> + <h4 class="signature"> + <span class="kind">class</span> + <span class="symbol"> + <span class="name">Rectangle</span><span class="params">(<span name="halfWidth">halfWidth: <span class="extype" name="scala.Double">Double</span></span>, <span name="halfHeight">halfHeight: <span class="extype" name="scala.Double">Double</span></span>, <span name="density">density: <span class="extype" name="scala.Double">Double</span></span>)</span><span class="result"> extends <a href="Shape.html" class="extype" name="sims.dynamics.Shape">Shape</a> with <a href="../geometry/ConvexPolygon.html" class="extype" name="sims.geometry.ConvexPolygon">ConvexPolygon</a> with <span class="extype" name="scala.Product">Product</span></span> + </span> + </h4> + <div class="fullcomment" id="comment"> + <div class="comment cmt"><p>A rectangle is a polygon.</p></div> + <dl class="paramcmts block"><dt class="param">halfWidth</dt><dd class="cmt"><p>this rectangle's half width</p></dd><dt class="param">halfHeight</dt><dd class="cmt"><p>this rectangle's half height</p></dd><dt class="param">density</dt><dd class="cmt"><p>density of this rectangle</p></dd></dl> - -<table summary="" cellpadding="3" class="member-detail"> - <tr><td class="title">Value Details</td></tr> - </table><div><a name="volume"></a><dl> - <dt> - - <code></code> - <code>val</code> - <em>volume</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - </dt> - <dd></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;"> - <b>Overrides</b> - </dt> - <dd> - <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>.<a href="../../sims/dynamics/Shape.html#volume" target="_self">volume</a> - </dd> - </dl><hr></hr> -<a name="I"></a><dl> - <dt> - - <code></code> - <code>val</code> - <em>I</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a> - </dt> - <dd></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> - </dt> - <dd> - <a href="../../sims/dynamics/Shape.html" target="_self">Shape</a>.<a href="../../sims/dynamics/Shape.html#I" target="_self">I</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="halfDiags"></a><dl> - <dt> - - <code></code> - <code>def</code> - <em>halfDiags</em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - </dt> - <dd></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> - - <code></code> - <code>def</code> - <em>vertices</em> : <a href="" target="contentFrame" class="scala/Array">scala.Array</a>[<a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>] - </dt> - <dd></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> - </dt> - <dd> - <a href="../../sims/geometry/ConvexPolygon.html" target="_self">ConvexPolygon</a>.<a href="../../sims/geometry/ConvexPolygon.html#vertices" target="_self">vertices</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> + + <div class="block"> + known subclasses: <a href="../../graphyx/graphics/GraphicalRectangle.html">GraphicalRectangle</a> + </div> + </div> + + <div id="template"> + + <div id="mbrsel"> + <div id="ancestors"> + <h3>Inherits</h3> + <ol><li class="in" name="scala.Product">Product</li><li class="in" name="scala.Equals">Equals</li><li class="in" name="sims.geometry.ConvexPolygon">ConvexPolygon</li><li class="in" name="sims.dynamics.Shape">Shape</li><li class="in" name="scala.AnyRef">AnyRef</li><li class="in" name="scala.Any">Any</li></ol> + </div> + </div> - <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> + <div class="members" id="values"> + <h3>Value Members</h3> + <ol><li name="sims.geometry.ConvexPolygon#AABB"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">AABB</span><span class="result">: <a href="../collision/AABB.html" class="extype" name="sims.collision.AABB">AABB</a></span> + </span> + </h4> + <p class="shortcomment cmt">Returns this polygon's axis aligned bounding box</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns this polygon's axis aligned bounding box.</p></div> + + + <div class="block"> + definition classes: <a href="../geometry/ConvexPolygon.html">ConvexPolygon</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#I"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">I</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Moment of inertia for a rotation about this shape's COM</p><div class="fullcomment"> + <div class="comment cmt"><p>Moment of inertia for a rotation about this shape's COM.</p></div> + + + + + </div> + </li><li name="sims.dynamics.Shape#asBody"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">asBody</span><span class="result">: <a href="Body.html" class="extype" name="sims.dynamics.Body">Body</a></span> + </span> + </h4> + <p class="shortcomment cmt">Creates a new body made out of tis shape</p><div class="fullcomment"> + <div class="comment cmt"><p>Creates a new body made out of tis shape.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#body"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">body</span><span class="result">: <a href="Body.html" class="extype" name="sims.dynamics.Body">Body</a></span> + </span> + </h4> + <p class="shortcomment cmt">Returns this shape's containing body</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns this shape's containing body.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#canEqual"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">canEqual</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span> + </span> + </h4> + + </li><li name="sims.dynamics.Shape#collidable"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">collidable</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span> + </span> + </h4> + <p class="shortcomment cmt">Flag determining this shapes ability to collide with other shapes</p><div class="fullcomment"> + <div class="comment cmt"><p>Flag determining this shapes ability to collide with other shapes.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.geometry.ConvexPolygon#contains"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">contains</span><span class="params">(<span name="point">point: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span> + </span> + </h4> + <p class="shortcomment cmt">Checks if the point <code>point</code> is contained in this polygon</p><div class="fullcomment"> + <div class="comment cmt"><p>Checks if the point <code>point</code> is contained in this polygon. +<p> +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.</p></div> + + + <div class="block"> + definition classes: <a href="../geometry/ConvexPolygon.html">ConvexPolygon</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#density"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">density</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Density</p><div class="fullcomment"> + <div class="comment cmt"><p>Density. (Mass per area)</p></div> + + + + + </div> + </li><li name="sims.dynamics.Rectangle#equals"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span> + </span> + </h4> + <p class="shortcomment cmt">This method is used to compare the receiver object (<code>this</code>) +with the argument object (<code>arg0</code>) for equivalence</p><div class="fullcomment"> + <div class="comment cmt"><p>This method is used to compare the receiver object (<code>this</code>) +with the argument object (<code>arg0</code>) for equivalence.</p><p><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><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>). +</p></div> + <dl class="paramcmts block"><dt class="param">arg0</dt><dd class="cmt"><p>the object to compare against this object for equality.</p></dd><dt>returns</dt><dd class="cmt"><p><code>true</code> if the receiver object is equivalent to the argument; <code>false</code> otherwise. +</p></p></dd></dl> + + + + </div> + </li><li name="sims.dynamics.Shape#friction"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">friction</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Part of the coefficient of friction for a collision between this shape and another</p><div class="fullcomment"> + <div class="comment cmt"><p>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.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#halfDiags"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">halfDiags</span><span class="result">: <span class="extype" name="scala.Array">Array</span>[<a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a>]</span> + </span> + </h4> + <p class="shortcomment cmt">Returns the vectors from the center to the vertices of this rectangle</p><div class="fullcomment"> + <div class="comment cmt"><p>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.</p></div> + + + + + </div> + </li><li name="sims.dynamics.Rectangle#halfHeight"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">halfHeight</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + + </li><li name="sims.dynamics.Rectangle#halfWidth"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">halfWidth</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + + </li><li name="sims.dynamics.Rectangle#hashCode"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span> + </span> + </h4> + <p class="shortcomment cmt">Returns a hash code value for the object</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns a hash code value for the object.</p><p><p> +The default hashing algorithm is platform dependent.</p><p>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><p><p></p></div> + + + + + </div> + </li><li name="sims.dynamics.Shape#mass"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">mass</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Returns the mass of this shape</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns the mass of this shape. The mass is given by volume times density.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#pos"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">pos</span><span class="result">: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span> + </span> + </h4> + <p class="shortcomment cmt">Position of this shape's COM (in world coordinates)</p><div class="fullcomment"> + <div class="comment cmt"><p>Position of this shape's COM (in world coordinates).</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#productArity"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">productArity</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span> + </span> + </h4> + + </li><li name="sims.dynamics.Rectangle#productElement"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">productElement</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Any">Any</span></span> + </span> + </h4> + + </li><li name="scala.Product#productElements"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">productElements</span><span class="result">: <span class="extype" name="scala.collection.Iterator">Iterator</span>[<span class="extype" name="scala.Any">Any</span>]</span> + </span> + </h4> + + </li><li name="scala.Product#productIterator"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">productIterator</span><span class="result">: <span class="extype" name="scala.collection.Iterator">Iterator</span>[<span class="extype" name="scala.Any">Any</span>]</span> + </span> + </h4> + + </li><li name="sims.dynamics.Rectangle#productPrefix"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">productPrefix</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span> + </span> + </h4> + + </li><li name="sims.geometry.ConvexPolygon#project"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">project</span><span class="params">(<span name="axis">axis: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>)</span><span class="result">: <a href="../geometry/Projection.html" class="extype" name="sims.geometry.Projection">Projection</a></span> + </span> + </h4> + <p class="shortcomment cmt">Returns the projection of this polygon onto the line given by the directional vector <code>axis</code></p><div class="fullcomment"> + <div class="comment cmt"><p>Returns the projection of this polygon onto the line given by the directional vector <code>axis</code>.</p></div> + <dl class="paramcmts block"><dt class="param">axis</dt><dd class="cmt"><p>directional vector of the line</p></dd><dt>returns</dt><dd class="cmt"><p>projection of this polygon</p></dd></dl> + + <div class="block"> + definition classes: <a href="../geometry/ConvexPolygon.html">ConvexPolygon</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#refLocalPos"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">refLocalPos</span><span class="result">: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span> + </span> + </h4> + <p class="shortcomment cmt">Local position of this shape's body COM to its COM at a body rotation of zero</p><div class="fullcomment"> + <div class="comment cmt"><p>Local position of this shape's body COM to its COM at a body rotation of zero.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#restitution"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">restitution</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Part of the coefficient of restitution for a collision between this shape and another</p><div class="fullcomment"> + <div class="comment cmt"><p>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.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#rotation"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">rotation</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Rotation of this shape about its COM</p><div class="fullcomment"> + <div class="comment cmt"><p>Rotation of this shape about its COM.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#rotation0"> + <h4 class="signature"> + <span class="kind">var</span> + <span class="symbol"> + <span class="name">rotation0</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Initial rotation</p><div class="fullcomment"> + <div class="comment cmt"><p>Initial rotation. Rotation of this shape before it was added to a body.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.geometry.ConvexPolygon#sides"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">sides</span><span class="result">: <span class="extype" name="scala.Array">Array</span>[<a href="../geometry/Segment.html" class="extype" name="sims.geometry.Segment">Segment</a>]</span> + </span> + </h4> + <p class="shortcomment cmt">Returns all sides of this polygon</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns all sides of this polygon. The sides are ordered counter-clockwise, the first vertex of the side +giving the side index.</p></div> + + + <div class="block"> + definition classes: <a href="../geometry/ConvexPolygon.html">ConvexPolygon</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#toString"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span> + </span> + </h4> + <p class="shortcomment cmt">Returns a string representation of the object</p><div class="fullcomment"> + <div class="comment cmt"><p>Returns a string representation of the object. +<p> +The default representation is platform dependent. +</p></div> + + + + + </div> + </li><li name="sims.dynamics.Shape#transientShapes"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">transientShapes</span><span class="result">: <span class="extype" name="scala.collection.mutable.Set">Set</span>[<a href="Shape.html" class="extype" name="sims.dynamics.Shape">Shape</a>]</span> + </span> + </h4> + <p class="shortcomment cmt">Shapes with which this shape cannot collide</p><div class="fullcomment"> + <div class="comment cmt"><p>Shapes with which this shape cannot collide.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#uid"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">uid</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span> + </span> + </h4> + <p class="shortcomment cmt">Unique identification number</p><div class="fullcomment"> + <div class="comment cmt"><p>Unique identification number.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Rectangle#vertices"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">vertices</span><span class="result">: <span class="extype" name="scala.collection.Seq">Seq</span>[<a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a>]</span> + </span> + </h4> + <p class="shortcomment cmt">Returns the position vectors of this rectangle's vertices</p><div class="fullcomment"> + <div class="comment cmt"><p>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.@return position vectors of the vertices</p></div> + + + + + </div> + </li><li name="sims.dynamics.Rectangle#volume"> + <h4 class="signature"> + <span class="kind">val</span> + <span class="symbol"> + <span class="name">volume</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span> + </span> + </h4> + <p class="shortcomment cmt">Volume</p><div class="fullcomment"> + <div class="comment cmt"><p>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.</p></div> + + + + + </div> + </li><li name="sims.dynamics.Shape#~"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">~</span><span class="params">(<span name="b">b: <a href="Body.html" class="extype" name="sims.dynamics.Body">Body</a></span>)</span><span class="result">: <a href="Body.html" class="extype" name="sims.dynamics.Body">Body</a></span> + </span> + </h4> + <p class="shortcomment cmt">Creates a new body out of this shape and the shapes of body <code>b</code></p><div class="fullcomment"> + <div class="comment cmt"><p>Creates a new body out of this shape and the shapes of body <code>b</code>.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li><li name="sims.dynamics.Shape#~"> + <h4 class="signature"> + <span class="kind">def</span> + <span class="symbol"> + <span class="name">~</span><span class="params">(<span name="s">s: <a href="Shape.html" class="extype" name="sims.dynamics.Shape">Shape</a></span>)</span><span class="result">: <a href="Body.html" class="extype" name="sims.dynamics.Body">Body</a></span> + </span> + </h4> + <p class="shortcomment cmt">Creates a new body out of this shape and the shape <code>s</code></p><div class="fullcomment"> + <div class="comment cmt"><p>Creates a new body out of this shape and the shape <code>s</code>.</p></div> + + + <div class="block"> + definition classes: <a href="Shape.html">Shape</a> + </div> + + </div> + </li></ol> + </div> - <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> + <div class="members" id="constructors"> + <h3>Instance constructors</h3> + <ol><li name="sims.dynamics.Rectangle#this"> + <h4 class="signature"> + <span class="kind">new</span> + <span class="symbol"> + <span class="name">Rectangle</span><span class="params">(<span name="halfWidth">halfWidth: <span class="extype" name="scala.Double">Double</span></span>, <span name="halfHeight">halfHeight: <span class="extype" name="scala.Double">Double</span></span>, <span name="density">density: <span class="extype" name="scala.Double">Double</span></span>)</span> + </span> + </h4> + + </li><li name="sims.dynamics.Shape#this"> + <h4 class="signature"> + <span class="kind">new</span> + <span class="symbol"> + <span class="name">Rectangle</span><span class="params">()</span> + </span> + </h4> + + </li></ol> + </div> - <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> + </div> + + </body> </html>
\ No newline at end of file |