Olá,<br>
<br>
experimentei o código e mesmo assim não funciona... começo a pensar que
talvez seja do modelo que eu estou a importar, poderia-me fornecer um
modelo que tenha testado para eu tirar as dúvidas?<br>
<br>
Desde já o meu obrigado<br>
<br>
Ricardo Seco<br>
Universidade de Aveiro<br><br><div><span class="gmail_quote">On 1/23/07, <b class="gmail_sendername">Paulo José Correia Bernardes</b> &lt;<a href="mailto:pbernardes@uaum.uminho.pt">pbernardes@uaum.uminho.pt</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">










<div link="blue" vlink="purple" lang="PT">

<div>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">Viva,</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">O código que lhe envio está
a funcionar…</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">Veja se lhe serve.</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">Cumprimentos,</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">Paulo Bernardes</span></font><font face="Courier New" size="2"><span style="font-size: 10pt;"></span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">vtkAppendPolyData
*appendDataFromVRMLFile ( vtkVRMLImporter *vrmlData )</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">{</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkAppendPolyData
*apd=vtkAppendPolyData::New();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">vtkPolyData *vrmlPolyData=vtkPolyData::New();
</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkActorCollection
*actorCollection=vtkActorCollection::New();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkActor
*actorOfCollection=vtkActor::New();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actorCollection
= vrmlData-&gt;GetRenderer()-&gt;GetActors();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actorCollection-&gt;InitTraversal();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actorOfCollection
= actorCollection-&gt;GetNextActor();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="blue"><span style="color: blue;">while</span></font>( actorOfCollection !=
NULL )</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vrmlPolyData
= <font color="blue"><span style="color: blue;">reinterpret_cast</span></font>&lt;vtkPolyData
*&gt;(actorOfCollection-&gt;GetMapper()-&gt;GetInput());</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apd-&gt;AddInput(vrmlPolyData);</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actorOfCollection
= actorCollection-&gt;GetNextActor();</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;" lang="EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font><font face="Courier New" size="2"><span style="font-size: 10pt;">}</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;</span></font></p>

<p style=""><font face="Courier New" size="2"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="blue"><span style="color: blue;">return</span></font> apd;</span></font></p>

<p><font face="Courier New" size="2"><span style="font-size: 10pt;">}</span></font><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;"></span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<div>

<div style="text-align: center;" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">

<hr align="center" size="2" width="100%">

</span></font></div>

<p><b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma; font-weight: bold;">De:</span></font></b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma;">
vtkusers-bounces+pbernardes=<a href="mailto:uaum.uminho.pt@vtk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">uaum.uminho.pt@vtk.org</a>
[mailto:<a href="mailto:vtkusers-bounces+pbernardes=uaum.uminho.pt@vtk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">vtkusers-bounces+pbernardes=uaum.uminho.pt@vtk.org</a>] <b><span style="font-weight: bold;">
Em nome de </span></b>Secolas UA<br>
<b><span style="font-weight: bold;">Enviada:</span></b> terça-feira, 23 de
Janeiro de 2007 15:57<br>
<b><span style="font-weight: bold;">Para:</span></b> <a href="mailto:vtkusers@vtk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">vtkusers@vtk.org</a><br>
<b><span style="font-weight: bold;">Assunto:</span></b> [vtkusers] AppendPolyData
Problem</span></font></p>

</div><div><span class="e" id="q_1104fb17f5763bed_1">

<p><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<p style="margin-bottom: 12pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Hello! <br>
<br>
I am importing a Vrml Model and i want to append to the same polydata the
polydata information of all the actors, but I have a problem when I do the<br>
appendSet-&gt;Update(); the following message appears Unhandled exception at
0x004771b7 in Visualization_Tool.exe: 0xC00000FD: Stack overflow.<br>
<br>
I think i&#39;m doing everything right, so i&#39;ll put the relevant part of the code
hoping that someone will have a solution.<br>
<br>
Thanks <br>
Ricardo Seco<br>
University of Aveiro<br>
<br>
...<br>
if (NumberOfActors &gt;0)<br>
&nbsp;&nbsp;&nbsp; {<br>
&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Obtenção dos actores da cena<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActColection = ren1-&gt;GetActors();<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; tmpData = (vtkPolyData *)
((vtkActor*)ActColection-&gt;GetLastActor())-&gt;GetMapper()-&gt;GetInput();<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; appendSet-&gt;AddInput(tmpData);<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ActColection-&gt;InitTraversal();<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Para cada iteração ...<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (int i=0;i&lt;NumberOfActors;i++)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; auxiliar++;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Obter esse actor<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Act =
ActColection-&gt;GetNextActor();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (Act!=NULL)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if
(Act-&gt;GetMapper()!=NULL)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
printf(&quot;------------------------------------------------------------------
\n&quot;); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; // Este código consoante o indice do actor<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; // que &quot;engloba&quot; o modelo torna-o ou não<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; // pickable. No caso de só existir um actor<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; // este é sempre pickable<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; if ((auxiliar==1) &amp;&amp; (NumberOfActors&gt;1))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Act-&gt;PickableOff();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
Act-&gt;GetProperty()-&gt;SetOpacity(0.5);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; // Vai buscar ao Mapper os dados poligonais<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; tmpData = (vtkPolyData* ) Act-&gt;GetMapper()-&gt;GetInput();<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; appendSet-&gt;AddInput(appendSet-&gt;GetOutput());<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; appendSet-&gt;AddInput(tmpData);<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; appendSet-&gt;Update(); //-&gt; Stack OverFlow<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; polyData = (vtkPolyData* )appendSet-&gt;GetOutput();<br>
...</span></font></p>

</span></div></div>

</div>



</blockquote></div><br>