<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello all!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Yesterday I encountered a problem using the 
vtkRenderer&nbsp;with two vtkActors. I want to display two image datasets with 
the one vtkRenderer. In order to display both datasets I would like to translate 
one of them. For this task I will need an vtkActor. While the program is running 
I have both Datasets shown&nbsp;by</FONT><FONT face=Arial size=2> two different 
vtkRenderers. The Datasets are stored in the vtkAbstractVolumeMapper of 
the&nbsp;corresponding vtkVolume for rendering. So here for a better 
understanding:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>1. Dataset:&nbsp; vtkRenderer -&gt; vtkVolume -&gt; 
vtkAbstractVolumeMapper -&gt; Image Dataset</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2>2. Dataset:&nbsp; vtkRenderer -&gt; vtkVolume -&gt; 
vtkAbstractVolumeMapper -&gt; Image Dataset</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>My problem is now, that I would like to render both 
datasets with the second vtkRenderer and to translate the second dataset before 
the rendering.</FONT></DIV>
<DIV><FONT face=Arial size=2>So the idea was to use&nbsp;two vtkActors in the 
second vtkRenderer. I thought that it would be possible to use the mapper of the 
first vtkRenderer as the mapper for the vtkActors in the second vtkRenderer. But 
there is a problem with the class hierarchy in vtk version 4.4.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>When I use&nbsp;&nbsp; myMapper 
=&nbsp;&nbsp;vtkVolume-&gt;GetMapper()&nbsp;&nbsp; &nbsp;it returns an 
vtkAbstractVolumeMapper, which includes my image dataset.</FONT></DIV>
<DIV><FONT face=Arial size=2>Now I have my mapper.</FONT></DIV>
<DIV><FONT face=Arial size=2>If I am trying to add this mapper to the vtkActor 
of the second vtkRenderer with vtkActor-&gt;SetMapper(myMapper) I will get an 
error message. This is because vtkActor-&gt;SetMapper() expects a vtkMapper 
and&nbsp; not a vtkAbstractVolumeMapper.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>The problem is now that it is not possible to cast 
the vtkAbstractVolumeMapper to a vtkMapper.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>My qestion is now: Is there anybody who might help 
me solving this problem? I think this situation might come up quite 
often.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>So any help would be appreciated!</FONT></DIV>
<DIV><FONT face=Arial size=2>Thanks a lot, Matthias</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Heres some code, maybe it helps understanding my 
problem:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV><FONT face=Arial size=2>
<DIV><BR>vtkRenderer *myRenderer1 = vtkRenderer::New();<BR>vtkRenderer 
*myRenderer2 = vtkRenderer::New();</DIV>
<DIV>&nbsp;</DIV>
<DIV>vtkVolume *testvol;<BR>vtkAbstractVolumeMapper *testmap;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; <BR>vtkActor *testact = vtkActor::New();<BR>vtkActor *testact2 = 
vtkActor::New();<BR>&nbsp;&nbsp;&nbsp; <BR>testvol = 
myRenderer1-&gt;GetVolumes()-&gt;GetNextVolume();</DIV>
<DIV>&nbsp;</DIV>
<DIV>testmap = testvol-&gt;GetMapper();<BR>&nbsp; <BR>&nbsp; if (testmap != 
NULL)<BR>&nbsp; {<BR>&nbsp;&nbsp; testact-&gt;RotateX(-90);<BR>&nbsp;&nbsp; 
testact-&gt;SetMapper(testmap); // error because vtkMapper is expected and 
vtkAbstractVolumeMapper is set<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp; 
myRenderer2-&gt;AddActor(testact);<BR>&nbsp;&nbsp; 
myRenderer2-&gt;AddActor(testact2);<BR>&nbsp; }<BR></FONT></DIV></BODY></HTML>