<?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[Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies]]></title><description><![CDATA[<p>Hallo C++ Community,</p>
<p>Ich schreibe zurzeit einen Exporter für ein bestimmtes Programm (Cinema 4D). Mit C++ bin ich noch ganz so fit, habe aber schon ein paar Plug-Ins in C++ dafür geschrieben. Das ganze ist keine große Hürde, jedoch hänge ich an einem Problem (gute Optimierung), an den ich schon mindestens 48 Zeitstunden hänge! Kurze Rede, schwieriger Sinn:</p>
<p>Ich habe ein &quot;Array&quot; <em>cpol</em> welches Zugehörigkeiten regelt. Es besteht aus Polygonindexe(0..n) mit drei dazugehörigen Punkteindexe (0..n). Es sind nie die gleichen Punkte innerhalb eines Polygons, jedoch können die Punkte in anderen Polygonen vorkommen.</p>
<pre><code class="language-cpp">//Zugriff: k ist der Index, a,b,c sind programmintern festgelegt 
cpol[k].a  // Punkt 1 des Polygons
cpol[k].b  // Punkt 2 des Polygons
cpol[k].c  // Punkt 3 des Polygons
</code></pre>
<p>Weiterhin habe ich ein &quot;Array&quot; <em>uvw</em>, welches aus einem Polygonindex(0..n) mit den dazugehörigen drei Vektoren (x,y,z) der Punkte von <em>cpol</em> besteht. Innerhalb eines Polygons gibt es keine gleichen Vektoren, aber in anderen Polygonen kann es gleiche geben.<br />
Die Vektoren sind Eigenschaftene(UVW Position) der Punkte, keine Ortskoordinaten.</p>
<pre><code class="language-cpp">//Zugriff: k ist der Index, Get(k),a,b,c sind programmintern festgelegt 
uvw-&gt;Get(k).a  // Vektor 1
uvw-&gt;Get(k).b  // Vektor 2
uvw-&gt;Get(k).c  // Vektor 3
</code></pre>
<p>Die Polygonindexe von <em>cpol</em> und <em>uvw</em> sind verknüpft. Das heißt: Die Vektoren von <em>uvw</em> sind auf die Punkte abgestimmt.</p>
<p>Beispiel:<br />
Vektor <code>uvw-&gt;Get(4).a</code> bezieht sich auf den Punkt <code>cpol[4].a</code> .<br />
Vektor <code>uvw-&gt;Get(4).b</code> bezieht sich auf den Punkt <code>cpol[4].b</code> .<br />
Vektor <code>uvw-&gt;Get(4).c</code> bezieht sich auf den Punkt <code>cpol[4].c</code> .</p>
<p>Die Größen der &quot;Arrays&quot; sind immer bekannt.</p>
<p>Was ist jetzt das Problem:<br />
Ein und der selbe Punkt kann verschiedene und/oder gleiche Vektoren besitzen.</p>
<p>Gibt es einen Vektor des Punktes, der unterschiedlich zu einen anderen Vektor des Punktes ist, so soll ein neuer Punkt erstellt werden und dem <em>cpol</em> im richtigen Polygonindex zugeordnet werden.</p>
<p>Was ich suche:<br />
Einen &quot;for, do, while, if&quot; Algorithmus, der mir ausgibt, zeigt etc.</p>
<p>Welcher Punkt hat nur gleiche Vektoren?</p>
<blockquote>
<p>&gt; Punktindex und Polygonindexe des Punktes, indem er sich befindet (können ja mehrere sein)</p>
</blockquote>
<p>Welcher Punkt hat unterschiedliche Vektoren?</p>
<blockquote>
<p>&gt; Wie oft unterschiedlich (Anzahl der neuen Punkte)<br />
&gt; Der Polygonindex der Punktegruppe (die den gleichen Vektor haben)</p>
</blockquote>
<p>Beispiel:<br />
Ein Datenblatt zur besseren Erkenntnis:<br />
<a href="http://www.imagebanana.com/view/wry2nk82/14.01.png" rel="nofollow">http://www.imagebanana.com/view/wry2nk82/14.01.png</a></p>
<p>Jemand eine klitze kleine Idee oder wenigstens ein Hinweis?</p>
<p>Sollte jemand etwas nicht verstanden haben was ich meine, bitte sagen. Danke schon mal beim Kopfzerbrechen. Wäre für wirklich jede Hilfe dankbar auch für: &quot;Das ist nicht wirklich realisierbar&quot; oder &quot;Das wird dir keiner machen, es ist zu komplex&quot; oder &quot;Du hast doch einen an der Waffel&quot;. Weiß ja nicht ob ich das nur als Laie schwierig finde.<br />
Würde mich auch gerne mit jemand anderweitig auseinandersetzen (ICQ, Mail, Skype etc. [Sachsen (bin flexibel mit der Bahn) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    />]) für die Lösungsfindung.</p>
<p>Cheers Toni</p>
<p>P.S. Ich habe über zwei Stunden für diesen Beitrag gebraucht, jetzt enttäuscht mich nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280284/komplizierte-vergleiche-datenabgleiche-lt-zum-knobeln-für-könner-profies</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 04:04:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280284.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Jan 2011 22:43:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 09:10:18 GMT]]></title><description><![CDATA[<p>Hallo C++ Community,</p>
<p>Ich schreibe zurzeit einen Exporter für ein bestimmtes Programm (Cinema 4D). Mit C++ bin ich noch ganz so fit, habe aber schon ein paar Plug-Ins in C++ dafür geschrieben. Das ganze ist keine große Hürde, jedoch hänge ich an einem Problem (gute Optimierung), an den ich schon mindestens 48 Zeitstunden hänge! Kurze Rede, schwieriger Sinn:</p>
<p>Ich habe ein &quot;Array&quot; <em>cpol</em> welches Zugehörigkeiten regelt. Es besteht aus Polygonindexe(0..n) mit drei dazugehörigen Punkteindexe (0..n). Es sind nie die gleichen Punkte innerhalb eines Polygons, jedoch können die Punkte in anderen Polygonen vorkommen.</p>
<pre><code class="language-cpp">//Zugriff: k ist der Index, a,b,c sind programmintern festgelegt 
cpol[k].a  // Punkt 1 des Polygons
cpol[k].b  // Punkt 2 des Polygons
cpol[k].c  // Punkt 3 des Polygons
</code></pre>
<p>Weiterhin habe ich ein &quot;Array&quot; <em>uvw</em>, welches aus einem Polygonindex(0..n) mit den dazugehörigen drei Vektoren (x,y,z) der Punkte von <em>cpol</em> besteht. Innerhalb eines Polygons gibt es keine gleichen Vektoren, aber in anderen Polygonen kann es gleiche geben.<br />
Die Vektoren sind Eigenschaftene(UVW Position) der Punkte, keine Ortskoordinaten.</p>
<pre><code class="language-cpp">//Zugriff: k ist der Index, Get(k),a,b,c sind programmintern festgelegt 
uvw-&gt;Get(k).a  // Vektor 1
uvw-&gt;Get(k).b  // Vektor 2
uvw-&gt;Get(k).c  // Vektor 3
</code></pre>
<p>Die Polygonindexe von <em>cpol</em> und <em>uvw</em> sind verknüpft. Das heißt: Die Vektoren von <em>uvw</em> sind auf die Punkte abgestimmt.</p>
<p>Beispiel:<br />
Vektor <code>uvw-&gt;Get(4).a</code> bezieht sich auf den Punkt <code>cpol[4].a</code> .<br />
Vektor <code>uvw-&gt;Get(4).b</code> bezieht sich auf den Punkt <code>cpol[4].b</code> .<br />
Vektor <code>uvw-&gt;Get(4).c</code> bezieht sich auf den Punkt <code>cpol[4].c</code> .</p>
<p>Die Größen der &quot;Arrays&quot; sind immer bekannt.</p>
<p>Was ist jetzt das Problem:<br />
Ein und der selbe Punkt kann verschiedene und/oder gleiche Vektoren besitzen.</p>
<p>Gibt es einen Vektor des Punktes, der unterschiedlich zu einen anderen Vektor des Punktes ist, so soll ein neuer Punkt erstellt werden und dem <em>cpol</em> im richtigen Polygonindex zugeordnet werden.</p>
<p>Was ich suche:<br />
Einen &quot;for, do, while, if&quot; Algorithmus, der mir ausgibt, zeigt etc.</p>
<p>Welcher Punkt hat nur gleiche Vektoren?</p>
<blockquote>
<p>&gt; Punktindex und Polygonindexe des Punktes, indem er sich befindet (können ja mehrere sein)</p>
</blockquote>
<p>Welcher Punkt hat unterschiedliche Vektoren?</p>
<blockquote>
<p>&gt; Wie oft unterschiedlich (Anzahl der neuen Punkte)<br />
&gt; Der Polygonindex der Punktegruppe (die den gleichen Vektor haben)</p>
</blockquote>
<p>Beispiel:<br />
Ein Datenblatt zur besseren Erkenntnis:<br />
<a href="http://www.imagebanana.com/view/wry2nk82/14.01.png" rel="nofollow">http://www.imagebanana.com/view/wry2nk82/14.01.png</a></p>
<p>Jemand eine klitze kleine Idee oder wenigstens ein Hinweis?</p>
<p>Sollte jemand etwas nicht verstanden haben was ich meine, bitte sagen. Danke schon mal beim Kopfzerbrechen. Wäre für wirklich jede Hilfe dankbar auch für: &quot;Das ist nicht wirklich realisierbar&quot; oder &quot;Das wird dir keiner machen, es ist zu komplex&quot; oder &quot;Du hast doch einen an der Waffel&quot;. Weiß ja nicht ob ich das nur als Laie schwierig finde.<br />
Würde mich auch gerne mit jemand anderweitig auseinandersetzen (ICQ, Mail, Skype etc. [Sachsen (bin flexibel mit der Bahn) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    />]) für die Lösungsfindung.</p>
<p>Cheers Toni</p>
<p>P.S. Ich habe über zwei Stunden für diesen Beitrag gebraucht, jetzt enttäuscht mich nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005899</guid><dc:creator><![CDATA[nt2005]]></dc:creator><pubDate>Thu, 13 Jan 2011 09:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 07:00:02 GMT]]></title><description><![CDATA[<p>Etwas mehr Code wäre schön. Dein Gerede kann ich irgendwie nur schwer verstehen (Das Bild kann ich leider nicht sehen, die Seite ist hier in der Firma geblockt).<br />
Was ich verstanden habe: Es gibt Polygone. Jedes Polygon besteht aus 3 unterschiedlichen Punkten. Einige Polygone teilen sich Punkte (Sie hängen aneinander).<br />
Was ich nicht verstehe ist, was bei dir der Unterschied zwischen Vektoren und Punkten ist. Ich sehe keinen Unetrschied zwischen cpol und uvw. Und erst recht verstehe ich deine Fragen nicht &quot;Welcher Punkt hat nur gleiche Vektoren?&quot;<br />
Was hat ein Punkt ausser seinem Ortsvektor noch für Vektoren?</p>
<p>Gib mal die Definitionen deiner Typen, die du bisher hast, um mal über etwas reden zu können. Etwa so was:</p>
<pre><code class="language-cpp">class Vektor{/*..*/};
class Polygon
{
  Array&lt;Vektor, 3&gt; punkte_;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2005930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005930</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Thu, 13 Jan 2011 07:00:02 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 10:44:58 GMT]]></title><description><![CDATA[<p>Hallo brotbernd,</p>
<p>Danke für deine Antwort. Ich lade das Bild noch einmal wo anders hoch, eventuell siehst du es dort.<br />
<a href="http://img818.imageshack.us/i/1401.png/" rel="nofollow">http://img818.imageshack.us/i/1401.png/</a><br />
<a href="http://tinypic.com/r/av1la8/7" rel="nofollow">http://tinypic.com/r/av1la8/7</a></p>
<p>Unterschied zwischen Vektoren und Punkte, damit meinst du den Unterschied zwischen <em>uvw</em> und <em>cpol</em>, sind:</p>
<p><em>uvw</em> gibt mit damit <code>uvw-&gt;Get(k).a //(b,c)</code> Vektoren(x,y,z) aus. <em>cpol</em> gibt damit <code>cpol[k].a //(b,c)</code> den Punkteindex aus, das heißt eine Zahl zwischen 0..n.<br />
Diese Zahlen kann ich dann in einer anderen internen Klasse (Vektorarray) als Indexe (Punktindexe) wieder verwenden.</p>
<p>Genauer Erklärung wieso ein Punkt verschiedene <em>uvw</em> Eigenschaften hat:<br />
Die Vektoren sind keine Ortskoordinaten innerhalb des 3D Raumes.<br />
Damit man eine 2D-Textur auf eine dreidimensionales Objekt bekommt, muss die Struktur des Objektes verflacht werden auf 2D (heißt UVW). Dabei entstehen mehrere gleiche Punkte mit unterschiedlichen UVW. Somit ist der Vektor von <em>uvw</em> die Position innerhalb der Textur. (Textur = Bild, dass auf die Oberfläche vom Objekt projiziert mit).</p>
<p>Bild zum besseren Verständnis (2 Hoster):<br />
<a href="http://img199.imageshack.us/i/1301d.png/" rel="nofollow">http://img199.imageshack.us/i/1301d.png/</a><br />
<a href="http://tinypic.com/r/34h6vis/7" rel="nofollow">http://tinypic.com/r/34h6vis/7</a></p>
<p>Code:<br />
Da es auf einer eigenen API gebunden ist, sieht es anders etwas anders aus.</p>
<pre><code class="language-cpp">// Werden aus einer Datei ausgelesen:
const CPolygon* cpol = object-&gt;GetPolygonR(); // Das cpol Array
UVWTag* uvw = (UVWTag*)object-&gt;GetTag(Tuvw,0); // Das uvw Array

// Eigene Arrays, Variabeln
Vector* uvwspeicher=bNew Vector[object-&gt;GetPointCount()]; //Ein Vektor Array, der so groß ist wie es Punkte gibt
LONG t;

for(t=0;t&lt;object-&gt;GetPolygonCount();t++)  // Anzahl der Polygone
{
    uvwspeicher[cpol[t].a]=uvw-&gt;GetSlow(t).a; //Speichert im Index (Punkteindex) den Vektor
    uvwspeicher[cpol[t].b]=uvw-&gt;GetSlow(t).b;
    uvwspeicher[cpol[t].c]=uvw-&gt;GetSlow(t).c;
}
</code></pre>
<p>Problem des <em>uvwspeicher</em>: Da es ja Punkte gibt, die verschiedene UVW-Koordinaten(Vektoren) haben, werden diese einfach überschrieben. Ich muss also die Punkte finden, die mehrere Vektoren haben und damit das obere Problem (Überschreibung der Punkte) verhindern.</p>
<p>Jetzt etwas besser oder muss ich noch mehr ins Detail gehen? Ich hoffe du kannst jetzt die Bilder sehen, wenn nicht, sag mir bitte welche Seite ich verwenden könnte. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2005982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2005982</guid><dc:creator><![CDATA[nt2005]]></dc:creator><pubDate>Thu, 13 Jan 2011 10:44:58 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 11:03:26 GMT]]></title><description><![CDATA[<p>Ein bischen mehr habe ich schon verstanden. Einem Ortsvektor werden mehrere sog. UVW Vektoren zugeordnet.</p>
<p>Mit deinem Code kann ich aber überhaupt nichts anfangen. Das ist irgendeine Stelle in der Implementierung. Was ich brauch sind Typdefinitionen. Was sind bei dir Punkte, Vektoren, Polygone.. wie sieht das aus. Was gibt die Get Methode zurück, was nimmt sie als Argument.<br />
Was ich bisher verstanden habe sieht etwa so aus:</p>
<pre><code class="language-cpp">/// Ein Punkt hat 3 Koordinaten
class Punkt
{
    int a, b, c;
};

/// Es gibt viele Punkte
class Punkte  // (cpol?)
{
    Punkt&amp; ByID(PunktID id);
};

/// Ein Polygon besteht aus 3 Punkten
class Polygon
{
    std::array&lt;PunktID, 3&gt; punkte;
};

/// Ein UVWVektor hat 3 Koordinaten und ist Puntken zugeordnet
class UVWVektor
{
    int a, b, c;
    std::vector&lt;PunktID&gt; punkte;
};

class UVW
{
    std::vector&lt;UVWVektor&gt; vektoren;
};

// -------- Oder ----------
class UVWVektor
{
    int a, b, c;
};

class Punkt
{
    int a, b, c;
    std::vector&lt;UVWVektor*&gt; vektoren;    
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2006001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006001</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Thu, 13 Jan 2011 11:03:26 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 11:14:24 GMT]]></title><description><![CDATA[<p>Das kann man nicht so schreiben, ist eben alles auf eine API/SDK ausgelegt.</p>
<p>Vielleicht kannst du damit mehr anfangen:</p>
<pre><code class="language-cpp">class PolygonObject: public PointObject
{
public:
  const CPolygon* GetPolygonR(void);  // Aufbau des Objektes mit den einzelnen Polygonen (cpol)
  LONG GetPolygonCount(void); // Anzahl der Polygone eines Objektes
};

class uvw: public PointObject //uvw Array
{
public:
  UVWStruct Get(LONG i); //Die UVW-Koordinaten für ein Polygon bekommen (3 Vektoren)
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2006005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006005</guid><dc:creator><![CDATA[nt2005]]></dc:creator><pubDate>Thu, 13 Jan 2011 11:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 12:00:43 GMT]]></title><description><![CDATA[<p>Du sagtest es sei eine eigene API. Und auch von einer fremden API hat man ja zumindest die Schnittstelle. Der Code ist ja schonmal ein Anfang. Jetzt wäre noch interessant: Was ist PointObject, was ist CPolygon, was ist UVWStruct, was ist LONG(ok das kann ich mir denken), bzw. wie sehen diese Klassen oder Typen aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006029</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Thu, 13 Jan 2011 12:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Thu, 13 Jan 2011 23:12:21 GMT]]></title><description><![CDATA[<p>Du stellst ganz schön schwierige Fragen aber mal sehen ob ich dir da antworten kann:</p>
<pre><code class="language-cpp">struct CPolygon
{
	CPolygon(void) {}
	CPolygon(LONG t_a, LONG t_b, LONG t_c) { a=t_a; b=t_b; c=d=t_c; }
	CPolygon(LONG t_a, LONG t_b, LONG t_c, LONG t_d) { a=t_a; b=t_b; c=t_c; d=t_d; }

	LONG a,b,c,d; // d fällt bei mir heraus, da meine Polygone nur 3 Punkte haben
};
</code></pre>
<pre><code class="language-cpp">struct UVWStruct
{
public:
  UVWStruct(_DONTCONSTRUCT dc);
  UVWStruct(void);
  UVWStruct(const Vector&amp; t_a, const Vector&amp; t_b, const Vector&amp; t_c, const Vector&amp; t_d);
  UVWStruct(const Vector&amp; t_a, const Vector&amp; t_b, const Vector&amp; t_c);
  Vector a;
  Vector b;
  Vector c;
  Vector d;  // d fällt bei mir heraus, da meine Polygone nur 3 Punkte haben
};
</code></pre>
<p>Ein PolygonObject ist ein Subtyp von einem PointObject, dies ist ein Untertyp von BaseObject, wiederrum von BaseList2D... Diese spielen hier auch keine wirkliche Rolle, da nur diese zwei Strukturen CPolygon und UVWStructure meines Erachtens den Weg zur Lösung weisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006385</guid><dc:creator><![CDATA[nt2005]]></dc:creator><pubDate>Thu, 13 Jan 2011 23:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Fri, 14 Jan 2011 06:51:34 GMT]]></title><description><![CDATA[<p>Und die Klasse uvw verwaltet die Verknüpfung von Punkt zu UVWStruct? Oder Polygon-&gt;UVWStruct?<br />
Ah ich glaub jetzt geht mir ein Licht auf<br />
uvw: Polygon-&gt;UVWStruct<br />
Der Vektor UVWSturct::a gehört zum Punkt CPolygon::a usw.</p>
<pre><code class="language-cpp">UVWStruct Get(LONG i);  // das i ist eine Polygon id?
</code></pre>
<p>Ist die Klasse uvw von dir selbst geschrieben? Hast du also die Implementierung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006408</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Fri, 14 Jan 2011 06:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to Komplizierte Vergleiche&#x2F;Datenabgleiche &amp;lt;- Zum Knobeln für Könner&#x2F;Profies on Fri, 14 Jan 2011 10:11:18 GMT]]></title><description><![CDATA[<p>Nein, die Klasse ist nicht von mir selber geschrieben. Ebenfalls API.</p>
<p>Im Grunde habe ich ein Objekt welchem ich die einzelnen Werte (uvw, cpol) entziehe.</p>
<p>Ich denke ich habe eine Lösung gefunden, sehr simpel aber sie scheint zu funktionieren und das erst nach so vielen Stunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Was ich alles funktioniert habe....</p>
<pre><code class="language-cpp">LONG t;
BaseObject* object = doc-&gt;GetActiveObject();
UVWTag* uvw_tag=(UVWTag*)object-&gt;GetTag(Tuvw,0);
PolygonObject* polyobj =  ToPoly((BaseObject*)(object));
CPolygon* pa=polyobj-&gt;GetPolygonW();
LONG point_count = pointobj-&gt;GetPointCount();
Vector* pvc=bNew Vector[point_count*3];

for(t=0;t&lt;point_count;t++) pvc[t]=-1;

for(t=0;t&lt;poly_count;t++)							
{
    if(uvw_tag-&gt;GetSlow(t).a!=pvc[pa[t].a] &amp;&amp; pvc[pa[t].a]!=-1)
    {
         //Erstelle an der Stelle pa[t].a einen neuen Punkt
    }
    if(uvw_tag-&gt;GetSlow(t).a!=pvc[pa[t].b] &amp;&amp; pvc[pa[t].b]!=-1)
    {
         //Erstelle an der Stelle pa[t].b einen neuen Punkt
    }
    if(uvw_tag-&gt;GetSlow(t).a!=pvc[pa[t].c] &amp;&amp; pvc[pa[t].c]!=-1)
    {
         //Erstelle an der Stelle pa[t].a einen neuen Punkt
    }
    pvc[pa[t].a]=uvw_tag-&gt;GetSlow(t).a;
    pvc[pa[t].b]=uvw_tag-&gt;GetSlow(t).b;
    pvc[pa[t].c]=uvw_tag-&gt;GetSlow(t).c;
}
</code></pre>
<p>Es hat mir sicherlich geholfen hier dies alles aufzuschreiben, damit habe ich meinen eigenen Code besser verstanden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Dankeschön und ein schönes Wochenende. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2006465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2006465</guid><dc:creator><![CDATA[nt2005]]></dc:creator><pubDate>Fri, 14 Jan 2011 10:11:18 GMT</pubDate></item></channel></rss>