<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Overlapping rectangles</title>
		<link>http://www.allegro.cc/forums/view/588775</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 28 Nov 2006 09:19:37 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There was a simple way to find the overlapping rectangle after you found that 2 rectangles have collided using min max functions but I can&#39;t remember it. Anyone know what that is?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Tue, 28 Nov 2006 07:28:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span>rect1.x1 <span class="k3">&gt;</span> rect2.x1<span class="k2">)</span> finalrect.x1 <span class="k3">=</span> rect1.x1<span class="k2">;</span> <span class="k1">else</span> finalrect.x1 <span class="k3">=</span> rect2.x1<span class="k2">;</span>
<span class="k1">if</span> <span class="k2">(</span>rect1.x2 <span class="k3">&lt;</span> rect2.x2<span class="k2">)</span> finalrect.x2 <span class="k3">=</span> rect1.x2<span class="k2">;</span> <span class="k1">else</span> finalrect.x2 <span class="k3">=</span> rect2.x2<span class="k2">;</span>
<span class="k1">if</span> <span class="k2">(</span>rect1.y1 <span class="k3">&gt;</span> rect2.y1<span class="k2">)</span> finalrect.y1 <span class="k3">=</span> rect1.y1<span class="k2">;</span> <span class="k1">else</span> finalrect.y1 <span class="k3">=</span> rect2.y1<span class="k2">;</span>
<span class="k1">if</span> <span class="k2">(</span>rect1.y2 <span class="k3">&lt;</span> rect2.y2<span class="k2">)</span> finalrect.y2 <span class="k3">=</span> rect1.y2<span class="k2">;</span> <span class="k1">else</span> finalrect.y2 <span class="k3">=</span> rect2.y2<span class="k2">;</span>
</pre></div></div><p>

That&#39;s a guess BTW, that I came up with moments after reading your post... I could be totally wrong about that. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /></p><p>--- Kris Asick (Gemini)<br />--- <a href="http://www.pixelships.com">http://www.pixelships.com</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Tue, 28 Nov 2006 08:59:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[edit]<br />Doh, Same as Kris&#39;s. I should learn to read before I write <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />[/edit]</p><p>Something like this?</p><div class="source-code snippet"><div class="inner"><pre><span class="c">//</span>
<span class="c">// rect[n].&lt;Left|Right|Top|Bottom&gt;</span>
<span class="c">//   n = rectangle number - 0 for first rectangle, 1 for second rectangle or 2 for overlap</span>
<span class="c">//   Left = left edge</span>
<span class="c">//   Right = right edge</span>
<span class="c">//   Top = top edge</span>
<span class="c">//   Bottom = bottom edge</span>
<span class="c">// </span>
<a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Left <span class="k3">=</span>   max<span class="k2">(</span><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Left, <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Left<span class="k2">)</span>
<a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Right <span class="k3">=</span>  min<span class="k2">(</span><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Right, <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Right<span class="k2">)</span>
<a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Top <span class="k3">=</span>    max<span class="k2">(</span><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Top, <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Top<span class="k2">)</span>
<a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.Bottom <span class="k3">=</span> min<span class="k2">(</span><a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.Bottom, <a href="http://www.allegro.cc/manual/rect" target="_blank"><span class="a">rect</span></a><span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.Bottom<span class="k2">)</span>
</pre></div></div><p>

[edit]<br />Is there any optimisation to :
</p><div class="source-code snippet"><div class="inner"><pre>finalrect.y2 <span class="k3">=</span> <span class="k2">(</span>rect1.y2 <span class="k3">&lt;</span> rect2.y2<span class="k2">)</span> ? rect1.y2 <span class="k2">:</span> rect2.y2<span class="k2">;</span>
</pre></div></div><p>
as an alternative to :
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span>rect1.y2 <span class="k3">&lt;</span> rect2.y2<span class="k2">)</span> finalrect.y2 <span class="k3">=</span> rect1.y2<span class="k2">;</span> <span class="k1">else</span> finalrect.y2 <span class="k3">=</span> rect2.y2<span class="k2">;</span>
</pre></div></div><p>
[/edit]
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HardTranceFan)</author>
		<pubDate>Tue, 28 Nov 2006 09:19:37 +0000</pubDate>
	</item>
</rss>
