<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head><title>class Shape 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>
<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 Shape</span>
</div><hr></hr>
<div class="source">
[source: <a href="" class="sims/dynamics/Shape"><code>sims/dynamics/Shape.scala</code></a>]
</div><hr></hr>
<a name="Shape"></a><dl>
<dt>
<code>abstract</code>
<code>class</code>
<em>Shape</em>
</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></dl>
<dl>
<dt style="margin:10px 0 0 20px;"><b>Direct Known Subclasses:</b></dt>
<dd><a href="../../graphyx/graphics/GraphicalShape.html" target="_self">GraphicalShape</a>, <a href="../../sims/dynamics/Circle.html" target="_self">Circle</a>, <a href="../../sims/dynamics/Rectangle.html" target="_self">Rectangle</a>, <a href="../../sims/dynamics/RegularPolygon.html" target="_self">RegularPolygon</a></dd>
</dl><hr></hr>
<table summary="" cellpadding="3" class="member">
<tr><td class="title" colspan="2">Value Summary</td></tr>
<tr>
<td class="modifiers" valign="top">
<code>abstract val</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code>abstract val</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> var</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> val</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> val</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code>abstract val</code>
</td>
<td class="signature">
<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>
</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>abstract def</code>
</td>
<td class="signature">
<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>
</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.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>
<div>Erstellt einen Koerper aus dieser Form und der Form <code>s</code>.</div>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> def</code>
</td>
<td class="signature">
<em><a href="../../sims/dynamics/Shape.html#asBody" target="_self">asBody</a></em>
: <a href="../../sims/dynamics/Body.html" target="_self">Body</a>
<div>Baut einen Koerper aus dieser Form.</div>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code>abstract def</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code> def</code>
</td>
<td class="signature">
<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>
</td>
</tr>
<tr>
<td class="modifiers" valign="top">
<code>abstract def</code>
</td>
<td class="signature">
<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>
</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="uid"></a><dl>
<dt>
<code></code>
<code>val</code>
<em>uid</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Einzigartige Identifikationsnummer.</dd></dl>
<dl></dl>
<hr></hr>
<a name="collidable"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>collidable</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Kollisionsfaehigkeit.</dd></dl>
<dl></dl>
<hr></hr>
<a name="restitution"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>restitution</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>
</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></dl>
<hr></hr>
<a name="friction"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>friction</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>
</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></dl>
<hr></hr>
<a name="pos"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>pos</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Position des Schwerpunktes in Welt.</dd></dl>
<dl></dl>
<hr></hr>
<a name="rotation"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>rotation</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Rotation. Entspricht Laenge des Rotationsvektors.</dd></dl>
<dl></dl>
<hr></hr>
<a name="rotation0"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>rotation0</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Initiale Rotation. (Rotation ohne Koerper)</dd></dl>
<dl></dl>
<hr></hr>
<a name="refLocalPos"></a><dl>
<dt>
<code></code>
<code>var</code>
<em>refLocalPos</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Referenzposition in Koerper. Wird zur Rotation von Formen in Koerpern verwendet.</dd></dl>
<dl></dl>
<hr></hr>
<a name="density"></a><dl>
<dt>
<code>abstract</code>
<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></dd>
</dl>
<dl><dd>Dichte. (Masse pro Flaeche)</dd></dl>
<dl></dl>
<hr></hr>
<a name="volume"></a><dl>
<dt>
<code>abstract</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>Volumen. Entspricht eigentlich der Flaeche dieser Form (in 2D) wird aber zum Errechnen der Masse verwendet.</dd></dl>
<dl></dl>
<hr></hr>
<a name="I"></a><dl>
<dt>
<code>abstract</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>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></dl>
<hr></hr>
<a name="transientShapes"></a><dl>
<dt>
<code></code>
<code>val</code>
<em>transientShapes</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>]
</dt>
<dd></dd>
</dl>
<dl><dd>Formen mit denen diese Form nicht Kollidiert.</dd></dl>
<dl></dl>
<hr></hr></div>
<table summary="" cellpadding="3" class="member-detail">
<tr><td class="title">Method Details</td></tr>
</table><div><a name="mass"></a><dl>
<dt>
<code></code>
<code>def</code>
<em>mass</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Double.html" target="_self">Double</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Errechnet die Masse dieser Form. Masse ist gleich Volumen mal Dichte.</dd></dl>
<dl><dt style="margin:10px 0 0 20px;">
<b>Returns</b></dt><dd>Masse der Form</dd></dl>
<hr></hr>
<a name="AABB"></a><dl>
<dt>
<code>abstract</code>
<code>def</code>
<em>AABB</em> : <a href="../../sims/collision/AABB.html" target="_self">AABB</a>
</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>
<hr></hr>
<a name="project%28sims.geometry.Vector2D%29"></a><dl>
<dt>
<code>abstract</code>
<code>def</code>
<em>project</em>(<em>axis</em> : <a href="../../sims/geometry/Vector2D.html" target="_self">Vector2D</a>) : <a href="../../sims/geometry/Projection.html" target="_self">Projection</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Ergibt die Projektion dieser Form auf eine Gerade gegeben durch den
Richtungsvektor <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>
<hr></hr>
<a name="contains%28sims.geometry.Vector2D%29"></a><dl>
<dt>
<code>abstract</code>
<code>def</code>
<em>contains</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>
</dt>
<dd></dd>
</dl>
<dl><dd>Ermittelt ob der gebene Punkt <code>point</code> in dieser Form enthalten ist.</dd></dl>
<dl></dl>
<hr></hr>
<a name="asBody"></a><dl>
<dt>
<code></code>
<code>def</code>
<em>asBody</em> : <a href="../../sims/dynamics/Body.html" target="_self">Body</a>
</dt>
<dd></dd>
</dl>
<dl><dd>Baut einen Koerper aus dieser Form.</dd></dl>
<dl><dt style="margin:10px 0 0 20px;">
<b>Returns</b></dt><dd>ein Koerper bestehend aus dieser Form.</dd></dl>
<hr></hr>
<a name="%5E%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>
</dt>
<dd></dd>
</dl>
<dl><dd>Erstellt einen Koerper aus dieser Form und der Form <code>s</code>.</dd></dl>
<dl></dl>
<hr></hr>
<a name="%5E%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>
</dt>
<dd></dd>
</dl>
<dl><dd>Erstellt einen Koerper aus dieser Form und den Formen des Koerpers <code>b</code>.</dd></dl>
<dl></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>