<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Überlappende Rechtecke feststellen]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich würde gerne feststllen wollen, ob 2 Komponenten sich überlappen.</p>
<p>Gibt es einen einfacheren Weg als zu schauen, ob eine der 4 Koordinaten (Left,Top,(Left+Width),(Top+Height)) einer Komponente innerhalb der anderen Komponente ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118738/überlappende-rechtecke-feststellen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 20:59:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118738.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Aug 2005 17:54:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Tue, 23 Aug 2005 17:54:06 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich würde gerne feststllen wollen, ob 2 Komponenten sich überlappen.</p>
<p>Gibt es einen einfacheren Weg als zu schauen, ob eine der 4 Koordinaten (Left,Top,(Left+Width),(Top+Height)) einer Komponente innerhalb der anderen Komponente ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857103</guid><dc:creator><![CDATA[paintmann]]></dc:creator><pubDate>Tue, 23 Aug 2005 17:54:06 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Tue, 23 Aug 2005 18:18:27 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Da ich keine entsprechende Mehtode in TControl oder TWinControl finde, sage ich mal, das du selber einen Vergleich über die Koordinaten machen must.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857113</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Tue, 23 Aug 2005 18:18:27 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 04:43:14 GMT]]></title><description><![CDATA[<p>Die WIN 32 API hat eine solche Funktion enthalten. Leider ist mir der Name entfallen (interrect oder so ähnlich)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857264</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Wed, 24 Aug 2005 04:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 06:51:05 GMT]]></title><description><![CDATA[<p>du meinst sicher <strong>IntersectRect</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/857297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857297</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Wed, 24 Aug 2005 06:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 07:24:06 GMT]]></title><description><![CDATA[<p>Ui, sehr Schade das es keine solche Funktion für float Koordinaten gibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/857308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857308</guid><dc:creator><![CDATA[minomin]]></dc:creator><pubDate>Wed, 24 Aug 2005 07:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 07:41:23 GMT]]></title><description><![CDATA[<p>Joo, die meinte ich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857318</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Wed, 24 Aug 2005 07:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 07:59:20 GMT]]></title><description><![CDATA[<p>minomin schrieb:</p>
<blockquote>
<p>Ui, sehr Schade das es keine solche Funktion für float Koordinaten gibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>die sind mit 2-3 zeilen code selber geschrieben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857323</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Wed, 24 Aug 2005 07:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 09:04:02 GMT]]></title><description><![CDATA[<p>Redensart oder wirklich 2-3 Zeilen?<br />
Ich habe eine Funktion, wo ich jeweils (float) left,top,reight und bottom schaue ob eine der 4 innerhalb des 2. Rechteckes liegen. Das sind aber wesentlich mehr als 2 Zeilen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Gibt's ne bessere schnellere Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857355</guid><dc:creator><![CDATA[minomin]]></dc:creator><pubDate>Wed, 24 Aug 2005 09:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to Überlappende Rechtecke feststellen on Wed, 24 Aug 2005 09:18:03 GMT]]></title><description><![CDATA[<p>ich habe mir ne eigene template-klasse <strong>Rect</strong> gebastelt. hier mal zwei funktionen zum testen auf einen punkt innerhalb eines rechtecks und auf ueberschneidung (liefert nur true/false, keinen schnittpunkt).</p>
<p>Left, Right, Top, Bottom sind natuerlich auch vom Typ T.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
// Funktion prüft ob der übergebenen Punkt innerhalb des Rechtecks liegt
// -&gt; ein Punkt liegt innerhalb des Rechtecks, wenn er sich auf der
//    oberen bzw. linken Seite oder innerhalb aller 4 Seiten befindet
// -&gt; ein Punkt auf der rechten oder unteren Seite liegt ausserhalb!
//---------------------------------------------------------------------------
template &lt;typename T&gt; 
inline bool Rect&lt;T&gt;::Contains(const T &amp;x, const T &amp;y) const
{
  return ((x &gt;= Left) &amp;&amp; (x &lt; Right) &amp;&amp; (y &gt;= Top) &amp;&amp; (y &lt; Bottom));
}

//---------------------------------------------------------------------------
// Funktion prüft ob sich die beiden Rechtecke überschneiden.
//---------------------------------------------------------------------------
template &lt;typename T&gt; 
inline bool Rect&lt;T&gt;::Intersect(const Rect&lt;T&gt; &amp;rhs) const
{
  return (Contains(rhs.Top, rhs.Left) || Contains(rhs.Bottom, rhs.Right));
}
</code></pre>
<p>wie du siehst, sinds effektiv nur 2 zeilen code (nur das was in den funktionen steht zählt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857373</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Wed, 24 Aug 2005 09:18:03 GMT</pubDate></item></channel></rss>