Hi John,<br><br>Thanks for the answer.<br><br>I tried this approack also but on my machine I never see the 2d actor with this one... No idea what is going on. I think I will use Qt to draw all the overlay props which is a shame as I could have used the picking functionality in VTK.
<br><br>Thanks,<br><br>Anja<br><br><div><span class="gmail_quote">On 14/10/06, <b class="gmail_sendername">John Platt</b> &lt;<a href="mailto:jcplatt@dsl.pipex.com">jcplatt@dsl.pipex.com</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="blue" lang="EN-US">

<div>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Hi Anja,</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>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">I ran your code using VTK 5 compiled by
VS6 on XP. The 3d actor is always on top.</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>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">I also removed the 2 renderers, replacing
by</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>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;&nbsp;&nbsp; vtkRenderer* ren = vtkRenderer::New();
</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;&nbsp;&nbsp; ren-&gt;AddActor(actor3d);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;&nbsp;&nbsp; ren-&gt;AddActor2D(actor2d);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;&nbsp;&nbsp; vtkRenderWindow* renWin
= vtkRenderWindow::New();&nbsp;&nbsp;&nbsp; </span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(ren);</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>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">which puts the 2D actor on top.</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>

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

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

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">John.</span></font></p></span><div><span class="e" id="q_10e489aeae7d5cff_2">

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

<p style="margin-left: 36pt;"><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma;">-----Original Message-----<br>
<b><span style="font-weight: bold;">From:</span></b>
vtkusers-bounces+jcplatt=<a href="mailto:dsl.pipex.com@vtk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dsl.pipex.com@vtk.org</a>
[mailto:<a href="mailto:vtkusers-bounces+jcplatt=dsl.pipex.com@vtk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">vtkusers-bounces+jcplatt=dsl.pipex.com@vtk.org</a>] <b><span style="font-weight: bold;">
On Behalf Of </span></b>Anja Ende<br>
<b><span style="font-weight: bold;">Sent:</span></b> 14 October 2006 11:55<br>
<b><span style="font-weight: bold;">To:</span></b> VTK<br>
<b><span style="font-weight: bold;">Subject:</span></b> [vtkusers] 2d actors,
vtkImageActor and multiple rendering layers</span></font></p>

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

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Hi again,<br>
<br>
As per my previous problem of mixing 2d and 3d actors in the same scene, I
thought it might be a graphics card problem. So, I managed to get another
windows machine (I was using Linux before) but I still see the same problem....
the 2d actor only gets displayed when I do a pick operation on the 3d actor....
This is completely bizarre and after several days I have come with no
explanation for that. I have stepped through the renderer code multiple times
during debug, but see nothing that could offer some kind of explanation. <br>
<br>
I really wish someone here would take a look at this very trivial code and see
if they could point something out. I tried to convert everything in my code to
3d actors but that presents another set of complications, unfortunately. <br>
<br>
I am attaching the code again. I really request someone to please help me. It
will not take too much of your time. The code is really small and functional.<br>
<br>
#include &quot;vtkImageData.h&quot;<br>
#include &quot; vtkImageActor.h&quot;<br>
#include &quot;vtkActor2D.h&quot;<br>
#include &quot;vtkRenderWindow.h&quot;<br>
#include &quot;vtkRenderer.h&quot;<br>
#include &quot;vtkRenderWindowInteractor.h&quot;<br>
#include &quot;vtkImageMapper.h &quot;<br>
#include &quot;vtkPNGReader.h&quot;<br>
#include &quot;vtkImageChangeInformation.h&quot;<br>
<br>
int main ()<br>
{<br>
&nbsp;&nbsp;&nbsp; // Read the image<br>
&nbsp;&nbsp;&nbsp; vtkPNGReader * cursorImage = vtkPNGReader::New();<br>
&nbsp;&nbsp;&nbsp; // Please replace with your own path <br>
&nbsp;&nbsp;&nbsp; cursorImage-&gt;SetFileName(&quot;C:\\crosshair.png&quot;);<br>
&nbsp;&nbsp;&nbsp; cursorImage-&gt;Update();<br>
&nbsp;&nbsp;&nbsp; // Shift center to image data oigin<br>
&nbsp;&nbsp;&nbsp; vtkImageChangeInformation * imageChange =
vtkImageChangeInformation::New(); <br>
&nbsp;&nbsp;&nbsp; imageChange-&gt;SetInput(cursorImage-&gt;GetOutput());<br>
&nbsp;&nbsp;&nbsp; imageChange-&gt;CenterImageOn();&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp; &nbsp;&nbsp;&nbsp; // create actor2d<br>
&nbsp;&nbsp;&nbsp; vtkImageMapper * mapper = vtkImageMapper::New();<br>
&nbsp;&nbsp;&nbsp; mapper-&gt;SetInput(imageChange-&gt;GetOutput()); <br>
&nbsp;&nbsp;&nbsp; mapper-&gt;SetColorWindow(256.0);<br>
&nbsp;&nbsp;&nbsp; mapper-&gt;SetColorLevel(128.0);<br>
&nbsp;&nbsp;&nbsp; vtkActor2D * actor2d = vtkActor2D::New();<br>
&nbsp;&nbsp;&nbsp; actor2d-&gt;SetMapper(mapper);<br>
&nbsp;&nbsp;&nbsp; actor2d-&gt;SetPosition(120.0, 100.0);<br>
<br>
&nbsp;&nbsp;&nbsp; // create actor 3d<br>
&nbsp;&nbsp;&nbsp; vtkImageActor * actor3d = vtkImageActor::New();<br>
&nbsp;&nbsp;&nbsp; actor3d-&gt;SetInput(imageChange-&gt;GetOutput());<br>
<br>
&nbsp;&nbsp;&nbsp; // following lines creates our 2 layers of
renderers&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; vtkRenderer *ren1 = vtkRenderer::New(); // 2d
actor&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; ren1-&gt;AddViewProp(actor2d);&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; ren1-&gt;SetLayer(0); // bottom layer&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp; vtkRenderer *ren2 = vtkRenderer::New();<br>
&nbsp;&nbsp;&nbsp; ren2-&gt;AddViewProp(actor3d); // 3d actor&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; ren2-&gt;SetLayer(1); // top layer&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp; vtkRenderWindow *renWin =
vtkRenderWindow::New();&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; renWin-&gt;SetNumberOfLayers(2); // we have 2 layers of
renderers in our window&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(ren1);<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer(ren2);&nbsp; &nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp; vtkRenderWindowInteractor *iren =
vtkRenderWindowInteractor::New(); // an interactor<br>
&nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow(renWin);<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;Render();&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; iren-&gt;Start();<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; // We will not bother with deletions...program is ending
anyways... <br>
&nbsp;&nbsp;&nbsp; return 0;<br>
} <br>
<br>
The crosshair.png image can be downloaded from here...<br>
<br>
<a href="http://pligame.sourceforge.net/images/crosshair.png" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://pligame.sourceforge.net/images/crosshair.png</a><br>
<br>
&nbsp;<br>
Cheers,<br>
<br>
Anja </span></font></p>

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

</div>



</blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br><br>Anja