<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>