doc/TaskJuggler/CollisionDetector.html in taskjuggler-0.0.8 vs doc/TaskJuggler/CollisionDetector.html in taskjuggler-0.0.9
- old
+ new
@@ -152,10 +152,12 @@
<li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
+ <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
+
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
<li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
@@ -230,10 +232,12 @@
<li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
+ <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
+
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
<li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
@@ -262,10 +266,12 @@
<li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
+ <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
+
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
@@ -542,10 +548,12 @@
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
+ <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
+
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
<li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
@@ -568,12 +576,10 @@
<li><a href="../RuntimeConfig.html">RuntimeConfig</a></li>
<li><a href="../String.html">String</a></li>
- <li><a href="../StringIO.html">StringIO</a></li>
-
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
@@ -617,25 +623,25 @@
<div class="method-source-code"
id="new-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 21</span>
-21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">height</span>)
-22: <span class="ruby-ivar">@width</span> = <span class="ruby-identifier">width</span>
-23: <span class="ruby-ivar">@height</span> = <span class="ruby-identifier">height</span>
-24:
-25: <span class="ruby-comment cmt"># The zones are stored as Arrays of line segments. Horizontal blocks are</span>
-26: <span class="ruby-comment cmt"># stored separately from vertical blocks. Blocked segments for a</span>
-27: <span class="ruby-comment cmt"># particular x coordinate are stored in @vLines, for y coordinates in</span>
-28: <span class="ruby-comment cmt"># @hLines. Each entry is an Array of [ start, end ] values that describe</span>
-29: <span class="ruby-comment cmt"># the blocked segments of that particular line. Start and end point are</span>
-30: <span class="ruby-comment cmt"># part of the segment. A listed segment will not be overwritten during</span>
-31: <span class="ruby-comment cmt"># routing.</span>
-32: <span class="ruby-ivar">@hLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@height</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
-33: <span class="ruby-ivar">@vLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
-34: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 22</span>
+22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">height</span>)
+23: <span class="ruby-ivar">@width</span> = <span class="ruby-identifier">width</span>
+24: <span class="ruby-ivar">@height</span> = <span class="ruby-identifier">height</span>
+25:
+26: <span class="ruby-comment cmt"># The zones are stored as Arrays of line segments. Horizontal blocks are</span>
+27: <span class="ruby-comment cmt"># stored separately from vertical blocks. Blocked segments for a</span>
+28: <span class="ruby-comment cmt"># particular x coordinate are stored in @vLines, for y coordinates in</span>
+29: <span class="ruby-comment cmt"># @hLines. Each entry is an Array of [ start, end ] values that describe</span>
+30: <span class="ruby-comment cmt"># the blocked segments of that particular line. Start and end point are</span>
+31: <span class="ruby-comment cmt"># part of the segment. A listed segment will not be overwritten during</span>
+32: <span class="ruby-comment cmt"># routing.</span>
+33: <span class="ruby-ivar">@hLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@height</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
+34: <span class="ruby-ivar">@vLines</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@width</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> = [] }
+35: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -673,34 +679,34 @@
<div class="method-source-code"
id="add-locked-one-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 40</span>
-40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addBlockedZone</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">horiz</span>, <span class="ruby-identifier">vert</span>)
-41: <span class="ruby-comment cmt"># Clip the input rectangle to fit within the handled area of this router.</span>
-42: <span class="ruby-identifier">x</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
-43: <span class="ruby-identifier">y</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
-44: <span class="ruby-identifier">w</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">w</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">x</span>)
-45: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">h</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">y</span>)
-46:
-47: <span class="ruby-comment cmt"># We can ignore empty zones.</span>
-48: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
-49:
-50: <span class="ruby-comment cmt"># Break the rectangle into line segments and add them to the appropriate</span>
-51: <span class="ruby-comment cmt"># line Arrays.</span>
-52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">horiz</span>
-53: <span class="ruby-identifier">y</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
-54: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@hLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">x</span>, <span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
-55: <span class="ruby-keyword kw">end</span>
-56: <span class="ruby-keyword kw">end</span>
-57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vert</span>
-58: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
-59: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@vLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">y</span>, <span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
-60: <span class="ruby-keyword kw">end</span>
-61: <span class="ruby-keyword kw">end</span>
-62: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 41</span>
+41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addBlockedZone</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">y</span>, <span class="ruby-identifier">w</span>, <span class="ruby-identifier">h</span>, <span class="ruby-identifier">horiz</span>, <span class="ruby-identifier">vert</span>)
+42: <span class="ruby-comment cmt"># Clip the input rectangle to fit within the handled area of this router.</span>
+43: <span class="ruby-identifier">x</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
+44: <span class="ruby-identifier">y</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">y</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
+45: <span class="ruby-identifier">w</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">w</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@width</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">x</span>)
+46: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">h</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-ivar">@height</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">y</span>)
+47:
+48: <span class="ruby-comment cmt"># We can ignore empty zones.</span>
+49: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
+50:
+51: <span class="ruby-comment cmt"># Break the rectangle into line segments and add them to the appropriate</span>
+52: <span class="ruby-comment cmt"># line Arrays.</span>
+53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">horiz</span>
+54: <span class="ruby-identifier">y</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+55: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@hLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">x</span>, <span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
+56: <span class="ruby-keyword kw">end</span>
+57: <span class="ruby-keyword kw">end</span>
+58: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vert</span>
+59: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">x</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
+60: <span class="ruby-identifier">addSegment</span>(<span class="ruby-ivar">@vLines</span>[<span class="ruby-identifier">i</span>], [ <span class="ruby-identifier">y</span>, <span class="ruby-identifier">y</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> ])
+61: <span class="ruby-keyword kw">end</span>
+62: <span class="ruby-keyword kw">end</span>
+63: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -731,33 +737,33 @@
<div class="method-source-code"
id="collision--source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 67</span>
-67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collision?</span>(<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">segment</span>, <span class="ruby-identifier">horizontal</span>)
-68: <span class="ruby-identifier">line</span> = (<span class="ruby-identifier">horizontal</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@hLines</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@vLines</span>)[<span class="ruby-identifier">pos</span>]
-69:
-70: <span class="ruby-comment cmt"># For complex charts, the segment lists can be rather long. We use a</span>
-71: <span class="ruby-comment cmt"># binary search to be fairly efficient.</span>
-72: <span class="ruby-identifier">l</span> = <span class="ruby-value">0</span>
-73: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
-74: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">l</span> <span class="ruby-operator"><=</span> <span class="ruby-identifier">u</span>
-75: <span class="ruby-comment cmt"># Look at the element in the middle between l and u.</span>
-76: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">l</span> <span class="ruby-operator">+</span> ((<span class="ruby-identifier">u</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">l</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
-77: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>], <span class="ruby-identifier">segment</span>)
-78:
-79: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>][<span class="ruby-value">1</span>]
-80: <span class="ruby-comment cmt"># The potential target is above p. Adjust lower bound.</span>
-81: <span class="ruby-identifier">l</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
-82: <span class="ruby-keyword kw">else</span>
-83: <span class="ruby-comment cmt"># The potential target is below p. Adjust upper bound.</span>
-84: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
-85: <span class="ruby-keyword kw">end</span>
-86: <span class="ruby-keyword kw">end</span>
-87: <span class="ruby-keyword kw">false</span>
-88: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 68</span>
+68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collision?</span>(<span class="ruby-identifier">pos</span>, <span class="ruby-identifier">segment</span>, <span class="ruby-identifier">horizontal</span>)
+69: <span class="ruby-identifier">line</span> = (<span class="ruby-identifier">horizontal</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@hLines</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@vLines</span>)[<span class="ruby-identifier">pos</span>]
+70:
+71: <span class="ruby-comment cmt"># For complex charts, the segment lists can be rather long. We use a</span>
+72: <span class="ruby-comment cmt"># binary search to be fairly efficient.</span>
+73: <span class="ruby-identifier">l</span> = <span class="ruby-value">0</span>
+74: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
+75: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">l</span> <span class="ruby-operator"><=</span> <span class="ruby-identifier">u</span>
+76: <span class="ruby-comment cmt"># Look at the element in the middle between l and u.</span>
+77: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">l</span> <span class="ruby-operator">+</span> ((<span class="ruby-identifier">u</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">l</span>) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>).<span class="ruby-identifier">to_i</span>
+78: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>], <span class="ruby-identifier">segment</span>)
+79:
+80: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">line</span>[<span class="ruby-identifier">p</span>][<span class="ruby-value">1</span>]
+81: <span class="ruby-comment cmt"># The potential target is above p. Adjust lower bound.</span>
+82: <span class="ruby-identifier">l</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
+83: <span class="ruby-keyword kw">else</span>
+84: <span class="ruby-comment cmt"># The potential target is below p. Adjust upper bound.</span>
+85: <span class="ruby-identifier">u</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
+86: <span class="ruby-keyword kw">end</span>
+87: <span class="ruby-keyword kw">end</span>
+88: <span class="ruby-keyword kw">false</span>
+89: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -784,35 +790,35 @@
<div class="method-source-code"
id="to-html-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 90</span>
- 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
- 91: <span class="ruby-identifier">html</span> = []
- 92: <span class="ruby-comment cmt"># Change this to determine what zones you want to see.</span>
- 93: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">true</span>
- 94: <span class="ruby-comment cmt"># Show vertical blocks</span>
- 95: <span class="ruby-identifier">x</span> = <span class="ruby-value">0</span>
- 96: <span class="ruby-ivar">@vLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
- 97: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
- 98: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">'white'</span>)
- 99: <span class="ruby-keyword kw">end</span>
-100: <span class="ruby-identifier">x</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
-101: <span class="ruby-keyword kw">end</span>
-102: <span class="ruby-keyword kw">else</span>
-103: <span class="ruby-comment cmt"># Show horizontal blocks</span>
-104: <span class="ruby-identifier">y</span> = <span class="ruby-value">0</span>
-105: <span class="ruby-ivar">@hLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
-106: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
-107: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">y</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">y</span>, <span class="ruby-value str">'white'</span>)
-108: <span class="ruby-keyword kw">end</span>
-109: <span class="ruby-identifier">y</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
-110: <span class="ruby-keyword kw">end</span>
-111: <span class="ruby-keyword kw">end</span>
-112: <span class="ruby-identifier">html</span>
-113: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 91</span>
+ 91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
+ 92: <span class="ruby-identifier">html</span> = []
+ 93: <span class="ruby-comment cmt"># Change this to determine what zones you want to see.</span>
+ 94: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">true</span>
+ 95: <span class="ruby-comment cmt"># Show vertical blocks</span>
+ 96: <span class="ruby-identifier">x</span> = <span class="ruby-value">0</span>
+ 97: <span class="ruby-ivar">@vLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+ 98: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
+ 99: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">x</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-value str">'white'</span>)
+100: <span class="ruby-keyword kw">end</span>
+101: <span class="ruby-identifier">x</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+102: <span class="ruby-keyword kw">end</span>
+103: <span class="ruby-keyword kw">else</span>
+104: <span class="ruby-comment cmt"># Show horizontal blocks</span>
+105: <span class="ruby-identifier">y</span> = <span class="ruby-value">0</span>
+106: <span class="ruby-ivar">@hLines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+107: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">segment</span><span class="ruby-operator">|</span>
+108: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">lineToHTML</span>(<span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">y</span>, <span class="ruby-identifier">segment</span>[<span class="ruby-value">1</span>], <span class="ruby-identifier">y</span>, <span class="ruby-value str">'white'</span>)
+109: <span class="ruby-keyword kw">end</span>
+110: <span class="ruby-identifier">y</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+111: <span class="ruby-keyword kw">end</span>
+112: <span class="ruby-keyword kw">end</span>
+113: <span class="ruby-identifier">html</span>
+114: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -849,35 +855,35 @@
<div class="method-source-code"
id="add-egment-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 127</span>
-127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSegment</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">newSegment</span>)
-128: <span class="ruby-comment cmt"># Search for overlaping or directly attaching segments in the list.</span>
-129: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
-130: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">i</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span>)
-131: <span class="ruby-identifier">segment</span> = <span class="ruby-identifier">line</span>[<span class="ruby-identifier">i</span>]
-132: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
-133: <span class="ruby-comment cmt"># Merge exiting segment into new one</span>
-134: <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
-135: <span class="ruby-comment cmt"># Remove the old one from the list and restart with the newly created</span>
-136: <span class="ruby-comment cmt"># one at the same position.</span>
-137: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">i</span>)
-138: <span class="ruby-keyword kw">next</span>
-139: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">newSegment</span>[<span class="ruby-value">1</span>]
-140: <span class="ruby-comment cmt"># Segments are stored in ascending order. If the next segment starts</span>
-141: <span class="ruby-comment cmt"># with a larger value, we insert the new segment before the larger</span>
-142: <span class="ruby-comment cmt"># one.</span>
-143: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">newSegment</span>)
-144: <span class="ruby-keyword kw">return</span>
-145: <span class="ruby-keyword kw">end</span>
-146: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
-147: <span class="ruby-keyword kw">end</span>
-148: <span class="ruby-comment cmt"># Append new segment</span>
-149: <span class="ruby-identifier">line</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">newSegment</span>
-150: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 128</span>
+128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSegment</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">newSegment</span>)
+129: <span class="ruby-comment cmt"># Search for overlaping or directly attaching segments in the list.</span>
+130: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
+131: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">i</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span>)
+132: <span class="ruby-identifier">segment</span> = <span class="ruby-identifier">line</span>[<span class="ruby-identifier">i</span>]
+133: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
+134: <span class="ruby-comment cmt"># Merge exiting segment into new one</span>
+135: <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">newSegment</span>, <span class="ruby-identifier">segment</span>)
+136: <span class="ruby-comment cmt"># Remove the old one from the list and restart with the newly created</span>
+137: <span class="ruby-comment cmt"># one at the same position.</span>
+138: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">i</span>)
+139: <span class="ruby-keyword kw">next</span>
+140: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">segment</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">newSegment</span>[<span class="ruby-value">1</span>]
+141: <span class="ruby-comment cmt"># Segments are stored in ascending order. If the next segment starts</span>
+142: <span class="ruby-comment cmt"># with a larger value, we insert the new segment before the larger</span>
+143: <span class="ruby-comment cmt"># one.</span>
+144: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">i</span>, <span class="ruby-identifier">newSegment</span>)
+145: <span class="ruby-keyword kw">return</span>
+146: <span class="ruby-keyword kw">end</span>
+147: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
+148: <span class="ruby-keyword kw">end</span>
+149: <span class="ruby-comment cmt"># Append new segment</span>
+150: <span class="ruby-identifier">line</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">newSegment</span>
+151: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -906,16 +912,16 @@
<div class="method-source-code"
id="clip-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 118</span>
-118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">v</span>, <span class="ruby-identifier">max</span>)
-119: <span class="ruby-identifier">v</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
-120: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">max</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max</span>
-121: <span class="ruby-identifier">v</span>
-122: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 119</span>
+119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clip</span>(<span class="ruby-identifier">v</span>, <span class="ruby-identifier">max</span>)
+120: <span class="ruby-identifier">v</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
+121: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">max</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">></span> <span class="ruby-identifier">max</span>
+122: <span class="ruby-identifier">v</span>
+123: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -945,15 +951,15 @@
<div class="method-source-code"
id="merge-source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 169</span>
-169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">dst</span>, <span class="ruby-identifier">seg</span>)
-170: <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><</span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>]
-171: <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>]
-172: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 170</span>
+170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge</span>(<span class="ruby-identifier">dst</span>, <span class="ruby-identifier">seg</span>)
+171: <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><</span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">0</span>]
+172: <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seg</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">></span> <span class="ruby-identifier">dst</span>[<span class="ruby-value">1</span>]
+173: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -983,16 +989,16 @@
<div class="method-source-code"
id="mergeable--source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 162</span>
-162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
-163: <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>) <span class="ruby-operator">||</span>
-164: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>]) <span class="ruby-operator">||</span>
-165: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>])
-166: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 163</span>
+163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mergeable?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
+164: <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>) <span class="ruby-operator">||</span>
+165: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>]) <span class="ruby-operator">||</span>
+166: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>])
+167: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1023,14 +1029,14 @@
<div class="method-source-code"
id="overlaps--source">
<pre>
- <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 155</span>
-155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
-156: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">||</span>
-157: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>])
-158: <span class="ruby-keyword kw">end</span></pre>
+ <span class="ruby-comment cmt"># File lib/reports/CollisionDetector.rb, line 156</span>
+156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">overlaps?</span>(<span class="ruby-identifier">s1</span>, <span class="ruby-identifier">s2</span>)
+157: (<span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">||</span>
+158: (<span class="ruby-identifier">s2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">&&</span> <span class="ruby-identifier">s1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator"><=</span> <span class="ruby-identifier">s2</span>[<span class="ruby-value">1</span>])
+159: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>