<?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[Ldraw Loader Linetype1 Rekursiv? Objektorientiert?]]></title><description><![CDATA[<p>Hallo,</p>
<p>schreibe gerade einen Loader für die Ldraw files<br />
hab ne Klasse Brick, in der ich 5 Structs habe, und Koordinaten speichere<br />
für die verschiedenen Linetypes</p>
<p>der Linetype 1 macht mir blos zu schaffen</p>
<p>Er beinhaltet Koordinaten für ein Subfile das wiederum die 5 Linetypes<br />
enthält</p>
<p>//Linetype 1 ist so aufgebaut<br />
// 1 &lt;colour&gt; x y z a b c d e f g h i &lt;file&gt;</p>
<p>hat das von euch jemand schon mal gemacht?<br />
wie löse ich das am Besten in einer Funktion oder Rekursion?</p>
<p>Rekursiv(Methode Load File in Klasse Object beim Linetype 1 einfach nochmal aufrufen?<br />
mit Übergabe vom Subfile? wie weis ich dann zu welchem File die<br />
richtigen Koordinaten gehören? )</p>
<p>wäre es am Besten eine Klasse File und eine Klasse Objekt<br />
zu modelieren? wie unterscheide ich zwischen Sub und normalem File?<br />
in meinen Koordinaten</p>
<p>muss ich eine Baumstruktur bilden?</p>
<p>ginge es bei den Structs ein 2 Dimensionales Array zu Bilden<br />
z.b. 1.Dim FileNummer 2. Dimension Anzahl Lines?</p>
<p>habs mal so aufgebaut</p>
<pre><code>class Object
{
private:

		struct LineType1
		{
			// 1 &lt;colour&gt; x y z a b c d e f g h i &lt;file&gt; 
			unsigned int LineType;
			unsigned int Color;
			unsigned int anzahl;
			GLfloat x,y,z,a,b,c,d,e,f,g,h,i;
			string subfile;

		};
		struct LineType2
		{
			unsigned char LineType;
			unsigned char Color;
			unsigned char anzahl;
			float x1,y1,z1,
				  x2,y2,z2;
		};

		struct LineType3
		{
			unsigned char LineType;
			unsigned char Color;
			unsigned char anzahl;
			float x1,y1,z1,
				  x2,y2,z2,
				  x3,y3,z3;
		};

		struct LineType4
		{
			unsigned char LineType;
			unsigned int Color;
			unsigned char anzahl;
			GLfloat x1,y1,z1,
					x2,y2,z2,
					x3,y3,z3,
					x4,y4,z4;
		};

	LineType1 lt1[300];
	LineType2 lt2[300];
	LineType3 lt3[300];
	LineType4 lt4[300];

	public:
		Object(){};
		~Object(){};
		void load (/*ifstream Quelldatei*/)
		{
</code></pre>
<p>Fragen über Fragen<br />
Gruß Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220469/ldraw-loader-linetype1-rekursiv-objektorientiert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 08:08:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220469.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Aug 2008 17:24:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 17:24:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>schreibe gerade einen Loader für die Ldraw files<br />
hab ne Klasse Brick, in der ich 5 Structs habe, und Koordinaten speichere<br />
für die verschiedenen Linetypes</p>
<p>der Linetype 1 macht mir blos zu schaffen</p>
<p>Er beinhaltet Koordinaten für ein Subfile das wiederum die 5 Linetypes<br />
enthält</p>
<p>//Linetype 1 ist so aufgebaut<br />
// 1 &lt;colour&gt; x y z a b c d e f g h i &lt;file&gt;</p>
<p>hat das von euch jemand schon mal gemacht?<br />
wie löse ich das am Besten in einer Funktion oder Rekursion?</p>
<p>Rekursiv(Methode Load File in Klasse Object beim Linetype 1 einfach nochmal aufrufen?<br />
mit Übergabe vom Subfile? wie weis ich dann zu welchem File die<br />
richtigen Koordinaten gehören? )</p>
<p>wäre es am Besten eine Klasse File und eine Klasse Objekt<br />
zu modelieren? wie unterscheide ich zwischen Sub und normalem File?<br />
in meinen Koordinaten</p>
<p>muss ich eine Baumstruktur bilden?</p>
<p>ginge es bei den Structs ein 2 Dimensionales Array zu Bilden<br />
z.b. 1.Dim FileNummer 2. Dimension Anzahl Lines?</p>
<p>habs mal so aufgebaut</p>
<pre><code>class Object
{
private:

		struct LineType1
		{
			// 1 &lt;colour&gt; x y z a b c d e f g h i &lt;file&gt; 
			unsigned int LineType;
			unsigned int Color;
			unsigned int anzahl;
			GLfloat x,y,z,a,b,c,d,e,f,g,h,i;
			string subfile;

		};
		struct LineType2
		{
			unsigned char LineType;
			unsigned char Color;
			unsigned char anzahl;
			float x1,y1,z1,
				  x2,y2,z2;
		};

		struct LineType3
		{
			unsigned char LineType;
			unsigned char Color;
			unsigned char anzahl;
			float x1,y1,z1,
				  x2,y2,z2,
				  x3,y3,z3;
		};

		struct LineType4
		{
			unsigned char LineType;
			unsigned int Color;
			unsigned char anzahl;
			GLfloat x1,y1,z1,
					x2,y2,z2,
					x3,y3,z3,
					x4,y4,z4;
		};

	LineType1 lt1[300];
	LineType2 lt2[300];
	LineType3 lt3[300];
	LineType4 lt4[300];

	public:
		Object(){};
		~Object(){};
		void load (/*ifstream Quelldatei*/)
		{
</code></pre>
<p>Fragen über Fragen<br />
Gruß Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566075</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Sat, 16 Aug 2008 17:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 18:10:37 GMT]]></title><description><![CDATA[<p>Also, wenn du weisst, was in den Files steht, brauchst du ja nicht gross eine Rekursion zu machen. Sofern die Subfiles ja nicht schon wieder (unbestimmt viele) Subfiles haben können, dann liest du einfach da erste File ein, weisst nachher, wie viel Subfiles es hat und kannst dann dem entsprechend einlesen.</p>
<p>Wenn du aber eine Unbestimmte Anzahl Subfiles hast, die wieder Subfiles haben usw. Dann kommst du kaum um Rekursion rum und brauchst (am ehesten ) eine schöne Klasse, um so ein Objekt darzustellen.</p>
<p>In Code also in etwa so:</p>
<pre><code class="language-cpp">class file
{
...
std::vector&lt;file&gt; subfiles;
public:
void load (std::string);
};
</code></pre>
<p>Dann fängst du einfach mal bei dem ersten Objekt an, und dann füllst du den vector, wo du dann auch wieder load aufrufst, dann geht das alles bis hinunter.</p>
<p>Hoffe, dass das in etwa das war, was du suchst. <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/1566105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566105</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 16 Aug 2008 18:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 18:26:33 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>danke für die Antwort!<br />
Die Subfiles haben unbestimmt viele neue Subfiles!</p>
<p>also in der Klasse File dann die 5 Structs?<br />
In der Klasse Objekt dann ein Array vom Typ File<br />
wo dann die Koordinaten am Ende drinstehen?</p>
<p>wie rufe ich vom Subfile ein neues Subfile aus?<br />
einfach in der Methode Load nochmal Load ausführen?<br />
benötige ich einen Stack oder einen Vector um die Subfiles zu verwalten</p>
<p>was tun wenn ein Subfile schon mal geladen ist?<br />
es würde sich ja dann nur die Matrixtransformation und Skalierung ändern!<br />
Gruß Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566110</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Sat, 16 Aug 2008 18:26:33 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 18:26:03 GMT]]></title><description><![CDATA[<p>Also ich würde das mal so machen, dass ich einfach alles in ein File schreiben würde (Textbassiert) und dann hald je nachdem das noch nachfolgend speichern.</p>
<pre><code>file1
    daten file1
        daten subfile
        daten subfile
            daten subsubfile
...
file2
    daten file2
</code></pre>
<p>Wenn du jeweils weisst, wie viele nachher kommen, dann ist das kein Problem das so abzuspeichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566113</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 16 Aug 2008 18:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 18:42:36 GMT]]></title><description><![CDATA[<p>das ist eben unbestimmt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566123</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Sat, 16 Aug 2008 18:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sat, 16 Aug 2008 18:50:16 GMT]]></title><description><![CDATA[<p>MatthiasA schrieb:</p>
<blockquote>
<p>das ist eben unbestimmt...</p>
</blockquote>
<p>Dann kannst du es eben nicht einlesen. <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="🙄"
    /><br />
Ich weiss jetzt ja nicht, was das für ein Format ist, aber du kannst ja zuerst die Daten des Files angeben und dann gibts du an, wie viele Subfiles kommen, dann kannst du weitermachen. Bei der Ausgabe der Files weisst du ja, wie viele das vorhanden sind und kannst dementsprechend die Infos liefern, die nötig sind, um richtig zu speichern.</p>
<p>Um das mal an meinem Beispiel zu zeigen:</p>
<pre><code>file1 1
    daten file1 2 //  2 subfiles; erstes einlesen, dann kommt nichts mehr
        daten subfile 0 // 0 subfiles
        daten subfile 1 // 1 subfile, also nächste element einfügen und laden
            daten subsubfile 0 //wieder 0 subfiles
...
file2 1
    daten file2 0 // 0 subfiles
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1566124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566124</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 16 Aug 2008 18:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to Ldraw Loader Linetype1 Rekursiv? Objektorientiert? on Sun, 17 Aug 2008 12:52:39 GMT]]></title><description><![CDATA[<p>ich komme weiter <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="😉"
    /> thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566135</guid><dc:creator><![CDATA[MatthiasA]]></dc:creator><pubDate>Sun, 17 Aug 2008 12:52:39 GMT</pubDate></item></channel></rss>