<font size="2"><font face="verdana,sans-serif">This is what I use:</font></font><div><font size="2"><font face="verdana,sans-serif"><br></font></font></div><div><font size="2"><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">void MainWindow::updateVisualization()</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">{ Â Â </font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  typedef itk::ImageToVTKImageFilter&lt;VisualizingImageType&gt; itkVtkConverter;</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  itkVtkConverter::Pointer conv=itkVtkConverter::New();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  conv-&gt;SetInput(itkVolume);</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â Â </font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  vtkGPUVolumeRayCastMapper *mapper = vtkGPUVolumeRayCastMapper::New();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  mapper-&gt;SetInput(conv-&gt;GetOutput());</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  if (volume) //if not the first volume delete the old one</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  Â  Â  volume-&gt;Delete();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  volume=vtkVolume::New();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>constructTF();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  volume-&gt;SetMapper( mapper );</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div>

<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  vtkRenderer *renderer = vis-&gt;GetRenderWindow()-&gt;GetRenderers()-&gt;GetFirstRenderer();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  renderer-&gt;RemoveAllViewProps();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  renderer-&gt;AddVolume( volume );</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  vis-&gt;GetRenderWindow()-&gt;Render();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">  Â  renderer-&gt;ResetCamera();</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><span class="Apple-tab-span" style="white-space:pre">        </span>QApplication::processEvents();</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">}</font></div></font><br><div class="gmail_quote">On Fri, Oct 7, 2011 at 13:49, Xavius <span dir="ltr">&lt;<a href="mailto:xavierelf@gmail.com">xavierelf@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi all!<br>
I have a trouble with VTK. I can&#39;t understand what is necessary to do to<br>
replace current volume.<br>
I&#39;ve tried many things but without success. There&#39;s no troubles with a<br>
single volume, but when I try to load another volume I face problems...<br>
<br>
Below I post code, I think should work, but it doesn&#39;t...<br>
Please help me to understand VTK!<br>
<br>
// This method called when thread, that load DICOM image series finished<br>
void MainWindow::onThreadFinished(void) {<br>
 Â  Â  Â  Â if (m_reader)<br>
 Â  Â  Â  Â  Â  Â  Â  Â m_reader-&gt;Delete();<br>
 Â  Â  Â  Â m_reader = m_itkLoadThread-&gt;getReader();<br>
<br>
 Â  Â  Â  Â render();<br>
}<br>
<br>
// Volume constructing<br>
void MainWindow::render(void) {<br>
 Â  Â  Â  Â ExportFilterType::Pointer Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  itkExporter Â  Â  = ExportFilterType::New();<br>
 Â  Â  Â  Â vtkSmartPointer&lt;vtkImageImport&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  vtkImporter Â  Â  = vtkImageImport::New();<br>
 Â  Â  Â  Â vtkSmartPointer&lt;vtkVolume&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â volume Â  Â  Â  Â  Â = vtkVolume::New();<br>
 Â  Â  Â  Â vtkSmartPointer&lt;vtkVolumeTextureMapper3D&gt; Â  Â  Â  mapper Â  Â  Â  Â  Â =<br>
vtkVolumeTextureMapper3D::New();<br>
<br>
 Â  Â  Â  Â itkExporter-&gt;SetInput(m_reader-&gt;GetOutput());<br>
 Â  Â  Â  Â itkExporter-&gt;Update();<br>
 Â  Â  Â  Â ConnectPipelines(itkExporter, vtkImporter);<br>
 Â  Â  Â  Â vtkImporter-&gt;Update();<br>
<br>
 Â  Â  Â  Â mapper-&gt;SetBlendModeToComposite();<br>
 Â  Â  Â  Â mapper-&gt;SetInput(vtkImporter-&gt;GetOutput());<br>
 Â  Â  Â  Â volume-&gt;SetProperty(m_volumeProperty);<br>
 Â  Â  Â  Â volume-&gt;SetMapper(mapper);<br>
<br>
 Â  Â  Â  Â changeVolume(volume);<br>
 Â  Â  Â  Â if (!m_eventLoopStarted) {<br>
 Â  Â  Â  Â  Â  Â  Â  Â m_iren-&gt;Start();<br>
 Â  Â  Â  Â  Â  Â  Â  Â m_eventLoopStarted = !m_eventLoopStarted;<br>
 Â  Â  Â  Â }<br>
}<br>
<br>
// Replacing an old volume for a new one<br>
void MainWindow::changeVolume(vtkProp *aProp) {<br>
 Â  Â  Â  Â m_renderer-&gt;RemoveAllViewProps();<br>
 Â  Â  Â  Â m_renderer-&gt;AddVolume(aProp);<br>
 Â  Â  Â  Â vtkWidget-&gt;GetRenderWindow()-&gt;Render();<br>
}<br>
<br>
// Method called from constructor. Setting up render window.<br>
void MainWindow::prepareRenderWindow(void) {<br>
 Â  Â  Â  Â vtkSmartPointer&lt;vtkRenderWindow&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â renWin Â  Â  Â  Â  Â =<br>
vtkWidget-&gt;GetRenderWindow();<br>
 Â  Â  Â  Â vtkSmartPointer&lt;vtkInteractorStyleTrackballCamera&gt; Â  Â  Â irenStyle Â  Â  Â  =<br>
vtkInteractorStyleTrackballCamera::New();<br>
 Â  Â  Â  Â m_iren Â  Â  Â  Â  Â = vtkRenderWindowInteractor::New();<br>
 Â  Â  Â  Â m_renderer Â  Â  Â = vtkRenderer::New();<br>
<br>
 Â  Â  Â  Â // Prepare Render Window<br>
 Â  Â  Â  Â renWin-&gt;AddRenderer(m_renderer);<br>
 Â  Â  Â  Â renWin-&gt;SetInteractor(m_iren);<br>
<br>
 Â  Â  Â  Â // Prepare Render Window Interactor<br>
 Â  Â  Â  Â m_iren-&gt;SetInteractorStyle(irenStyle);<br>
 Â  Â  Â  Â irenStyle-&gt;SetDefaultRenderer(m_renderer);<br>
 Â  Â  Â  Â m_iren-&gt;SetRenderWindow(renWin);<br>
<br>
 Â  Â  Â  Â // Prepare Renderer<br>
 Â  Â  Â  Â m_renderer-&gt;SetBackground(0.5, 0.5, 0.5);<br>
 Â  Â  Â  Â m_renderer-&gt;ResetCamera();<br>
<br>
 Â  Â  Â  Â renWin-&gt;Render();<br>
}<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/Replace-Volume-in-render-window-tp4879789p4879789.html" target="_blank">http://vtk.1045678.n5.nabble.com/Replace-Volume-in-render-window-tp4879789p4879789.html</a><br>


Sent from the VTK - Users mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</font></blockquote></div><br></div>