<?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[Objekte mit unerschiedlichen Variablen duplizieren]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>zunächst muss ich wohl leider den Satz los werden, welcher hier äußerst ungerne gelesen wird: Ich bin Anfänger in C++ und muss, um eine Simulationssoftware nutzen zu können, diese Sprache anwenden.</p>
<p>Die Benutzerschnittstelle (die Macher nennen es gerne Unser-Interface Oo) ist eine cpp-Datei in welcher alle Geometrien für die Simulation hinterlegt werden.</p>
<p>Das eigentliche Problem:<br />
Ich habe eine Geometrie erstellt und möchte diese nun - ähnlich wie in einem CAD-Programm - mustern. Das einzige, was sich also an dem Objekt ändert ist die Position in x- und y-Richtung.</p>
<p>Hier erstmal der code:</p>
<pre><code>int Programm::initialiseSetup()   {
...
//=======================Collimator====================================== 

//Start Collimator
CompositeMedium *collimator;

collimator = new CompositeMedium();
collimator-&gt;setKECutOff(0.1 keV);
collimator-&gt;setTitle(&quot;Collimator&quot;);
collimator-&gt;setMaterial(Material::hatch(&quot;absorber&quot;));
collimator-&gt;setVolume(new Box(10 cm, 10 cm, 1.5 cm));

//Schlitze einfügen
Medium *pfad1;
pfad1 = new Medium();
pfad1-&gt;setTitle(&quot;Pfad&quot;);
pfad1-&gt;setMaterial(Material::hatch(&quot;air&quot;));
pfad1-&gt;setVolume(new Box(0.1 cm, 0.1 cm, 1.5 cm));
pfad1-&gt;setKECutOff(0.1 keV);
pfad1-&gt;move(Vector(4.9 cm, 4.9 cm , 0 cm));
collimator-&gt; addMedium(pfad1);

Medium *pfad2;
pfad2 = new Medium();
pfad2-&gt;setTitle(&quot;Pfad&quot;);
pfad2-&gt;setMaterial(Material::hatch(&quot;air&quot;));
pfad2-&gt;setVolume(new Box(0.1 cm, 0.1 cm, 1.5 cm));
pfad2-&gt;setKECutOff(0.1 keV);
pfad2-&gt;move(Vector(4.7 cm, 4.9 cm , 0 cm));
collimator-&gt; addMedium(pfad2);

//Ende Collimator
//Positionierung Collimator
collimator-&gt;move(Vector(0,0, 0 cm));
collimator-&gt;rotateX(0);
collimator-&gt;rotateY(0);
collimator-&gt;rotateZ(0);

//zur Welt hinzufügen
xRayLab-&gt;addMedium(collimator);
ViewList *vl4 = new ViewList();
collimator-&gt;createDetectorView(*vl4);
viewListList.append(vl4);

...

return 0;
}
</code></pre>
<p>Im Code werden &quot;pfad1&quot; und &quot;pfad2&quot; einzeln initialisiert. Die Musterung soll über move(Vector(n, m , 0 cm)) erfolgen.</p>
<p>Nun meine Frage: Wie stelle ich es an, ohne jedes Objekt wie oben geschrieben erstellen zu müssen. Vermutlich wird es über ein Container lösbar sein, allerdings weiß ich nicht, wie ich dann die entsprechenden Attribute mit übertragen kann.</p>
<p>Ich hoffe mein Problem ist deutlich und ich hoffe ihr könnt mir helfen.</p>
<p>Besten Dank - und seid gnädig <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/topic/317176/objekte-mit-unerschiedlichen-variablen-duplizieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 11:26:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317176.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 May 2013 05:08:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte mit unerschiedlichen Variablen duplizieren on Thu, 30 May 2013 05:08:24 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>zunächst muss ich wohl leider den Satz los werden, welcher hier äußerst ungerne gelesen wird: Ich bin Anfänger in C++ und muss, um eine Simulationssoftware nutzen zu können, diese Sprache anwenden.</p>
<p>Die Benutzerschnittstelle (die Macher nennen es gerne Unser-Interface Oo) ist eine cpp-Datei in welcher alle Geometrien für die Simulation hinterlegt werden.</p>
<p>Das eigentliche Problem:<br />
Ich habe eine Geometrie erstellt und möchte diese nun - ähnlich wie in einem CAD-Programm - mustern. Das einzige, was sich also an dem Objekt ändert ist die Position in x- und y-Richtung.</p>
<p>Hier erstmal der code:</p>
<pre><code>int Programm::initialiseSetup()   {
...
//=======================Collimator====================================== 

//Start Collimator
CompositeMedium *collimator;

collimator = new CompositeMedium();
collimator-&gt;setKECutOff(0.1 keV);
collimator-&gt;setTitle(&quot;Collimator&quot;);
collimator-&gt;setMaterial(Material::hatch(&quot;absorber&quot;));
collimator-&gt;setVolume(new Box(10 cm, 10 cm, 1.5 cm));

//Schlitze einfügen
Medium *pfad1;
pfad1 = new Medium();
pfad1-&gt;setTitle(&quot;Pfad&quot;);
pfad1-&gt;setMaterial(Material::hatch(&quot;air&quot;));
pfad1-&gt;setVolume(new Box(0.1 cm, 0.1 cm, 1.5 cm));
pfad1-&gt;setKECutOff(0.1 keV);
pfad1-&gt;move(Vector(4.9 cm, 4.9 cm , 0 cm));
collimator-&gt; addMedium(pfad1);

Medium *pfad2;
pfad2 = new Medium();
pfad2-&gt;setTitle(&quot;Pfad&quot;);
pfad2-&gt;setMaterial(Material::hatch(&quot;air&quot;));
pfad2-&gt;setVolume(new Box(0.1 cm, 0.1 cm, 1.5 cm));
pfad2-&gt;setKECutOff(0.1 keV);
pfad2-&gt;move(Vector(4.7 cm, 4.9 cm , 0 cm));
collimator-&gt; addMedium(pfad2);

//Ende Collimator
//Positionierung Collimator
collimator-&gt;move(Vector(0,0, 0 cm));
collimator-&gt;rotateX(0);
collimator-&gt;rotateY(0);
collimator-&gt;rotateZ(0);

//zur Welt hinzufügen
xRayLab-&gt;addMedium(collimator);
ViewList *vl4 = new ViewList();
collimator-&gt;createDetectorView(*vl4);
viewListList.append(vl4);

...

return 0;
}
</code></pre>
<p>Im Code werden &quot;pfad1&quot; und &quot;pfad2&quot; einzeln initialisiert. Die Musterung soll über move(Vector(n, m , 0 cm)) erfolgen.</p>
<p>Nun meine Frage: Wie stelle ich es an, ohne jedes Objekt wie oben geschrieben erstellen zu müssen. Vermutlich wird es über ein Container lösbar sein, allerdings weiß ich nicht, wie ich dann die entsprechenden Attribute mit übertragen kann.</p>
<p>Ich hoffe mein Problem ist deutlich und ich hoffe ihr könnt mir helfen.</p>
<p>Besten Dank - und seid gnädig <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/2327256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2327256</guid><dc:creator><![CDATA[rangarig]]></dc:creator><pubDate>Thu, 30 May 2013 05:08:24 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte mit unerschiedlichen Variablen duplizieren on Thu, 30 May 2013 07:27:20 GMT]]></title><description><![CDATA[<p>Ist der gezeigte Code von dir? Da wird jedes Objekt mit &quot;new&quot; erzeugt. Das ist in modernem C++ nicht mehr üblich.</p>
<p>Mir wird nicht so ganz klar, was du genau machen möchtest. Möchtest du neue Objekte erzeugen, die den existierenden Objekten &quot;ähnlich&quot; sein sollen? Oder möchtest du Eigenschaften existierender Objekte ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2327259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2327259</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 30 May 2013 07:27:20 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte mit unerschiedlichen Variablen duplizieren on Thu, 30 May 2013 08:08:08 GMT]]></title><description><![CDATA[<p>Erstmal danke für die Antwort.</p>
<p>Der obige Code ist nicht von mir, sondern nur &quot;adaptiert&quot; aus der Vorlage der &quot;Schnittstelle&quot; des Simulationsprogrammes. Sämtliche Geometrien wurden dort auf diesem Wege erzeugt.</p>
<p>Sorry, wenn ich mich nicht genau genug ausgedrückt habe:<br />
Ich möchte neue Objekte erzeugen, die den existierenden ähnlich sein sollen.</p>
<p>Ich möchte bei jedem neuen Objekt die fetten Werte in<br />
move(Vector(<strong>4.7 cm</strong>, <strong>4.9 cm</strong> , 0 cm))<br />
um einen diskreten Wert (z.B. 0.1 cm) Schrittweise verändern...</p>
<p>Prinzipiell eine triviale for-Schleife aller for(n=-4.9; n&lt;=4.9; n++)......</p>
<p>Am Ende soll im CompositeMedium Collimator eine quadratische Rasterung der pfad-Elemente entstehen.</p>
<p>Ich hoffe das macht es deutlicher?</p>
<p>BG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2327265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2327265</guid><dc:creator><![CDATA[rangarig]]></dc:creator><pubDate>Thu, 30 May 2013 08:08:08 GMT</pubDate></item></channel></rss>