summaryrefslogblamecommitdiff
path: root/doc/sims/collision/AABB.html
blob: 9666bff67688383dcb844a26df68f2d79678cc8e (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13

                                                                                                 
      









                                                                                        
               
                           
      
                                                                                               
 



                                             
 









                                                                                                                                                                                                                                                                                                                                                                                                                                               
      










































































































































































































                                                                                                                                                                                                                                                                                                                                                  
        


            
            
<?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>Scaladoc for sims.collision.AABB</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 class="type">
      
      <p id="owner"><a href="../package.html">sims</a>.<a href="package.html">collision</a></p>

      <div id="definition">
        <img src="../../lib/class_big.png" />
        <h1>AABB</h1>
      </div>

      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol">
        <span class="name">AABB</span><span class="params">(<span name="minVertex">minVertex: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>, <span name="maxVertex">maxVertex: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>)</span><span class="result"> extends <span class="extype" name="scala.Product">Product</span></span>
      </span>
      </h4>
      <div class="fullcomment" id="comment">
      <div class="comment cmt"><p>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.</p></div>
      <dl class="paramcmts block"><dt class="param">minVertex</dt><dd class="cmt"><p>Position vector of the bottom-left vertex</p></dd><dt class="param">maxVertex</dt><dd class="cmt"><p>Position vector of the upper-right vertex</p></dd></dl>
      
      
      <div class="block">
                known subclasses: <a href="../../graphyx/graphics/GraphicalAABB.html">GraphicalAABB</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="scala.AnyRef">AnyRef</li><li class="in" name="scala.Any">Any</li></ol>
              </div>
            </div>
        
        
        
        <div class="members" id="values">
              <h3>Value Members</h3>
              <ol><li name="sims.collision.AABB#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.collision.AABB#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.collision.AABB#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.collision.AABB#maxVertex">
      <h4 class="signature">
      <span class="kind">val</span>
      <span class="symbol">
        <span class="name">maxVertex</span><span class="result">: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>
      </span>
      </h4>
      
    </li><li name="sims.collision.AABB#minVertex">
      <h4 class="signature">
      <span class="kind">val</span>
      <span class="symbol">
        <span class="name">minVertex</span><span class="result">: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>
      </span>
      </h4>
      
    </li><li name="sims.collision.AABB#overlaps">
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">overlaps</span><span class="params">(<span name="box">box: <a href="" class="extype" name="sims.collision.AABB">AABB</a></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4>
      <p class="shortcomment cmt">Checks this AABB with <code>box</code> for overlap</p><div class="fullcomment">
      <div class="comment cmt"><p>Checks this AABB with <code>box</code> for overlap.</p></div>
      <dl class="paramcmts block"><dt class="param">box</dt><dd class="cmt"><p>AABB with which to check for overlap</p></dd></dl>
      
      
      
    </div>
    </li><li name="sims.collision.AABB#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.collision.AABB#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.collision.AABB#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.collision.AABB#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></ol>
            </div>
        
        <div class="members" id="constructors">
              <h3>Instance constructors</h3>
              <ol><li name="sims.collision.AABB#this">
      <h4 class="signature">
      <span class="kind">new</span>
      <span class="symbol">
        <span class="name">AABB</span><span class="params">(<span name="minVertex">minVertex: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>, <span name="maxVertex">maxVertex: <a href="../geometry/Vector2D.html" class="extype" name="sims.geometry.Vector2D">Vector2D</a></span>)</span>
      </span>
      </h4>
      
    </li><li name="scala.AnyRef#this">
      <h4 class="signature">
      <span class="kind">new</span>
      <span class="symbol">
        <span class="name">AABB</span><span class="params">()</span>
      </span>
      </h4>
      
    </li></ol>
            </div>
        
      </div>
      
    </body>
      </html>