<div dir="ltr">Hi everyone,<div><br></div><div>I've implemented a simple pipeline to allow visualization/interaction of a 3D image using vtkImagePlane Widget. After rendering I can see the three orthogonal planes of the image, I'm also able to change window level and to see cursor location... However, I'm not able no move each individual plane, as if interaction were disabled...</div>
<div><br></div><div>The strangest thing is that I tested the exact same pipeline on Windows and it works perfectly! My environment: Mac OSX 10.6.8, vtk 5.10. </div><div><br></div><div>Below part of my code:</div><div><br>
</div><div><div>// A renderer and render window</div><div>vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();</div><div>vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();</div>
<div>renderWindow->AddRenderer(renderer);</div><div><br></div><div>// Interactor</div><div>vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();</div>
<div>renderWindowInteractor->SetRenderWindow(renderWindow);</div><div>vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();</div><div>renderWindowInteractor->SetInteractorStyle( style );</div>
<div><br></div><div>// The shared picker </div><div>vtkSmartPointer<vtkCellPicker> picker = vtkSmartPointer<vtkCellPicker>::New();</div><div>picker->SetTolerance(0.005);</div><div><br></div><div>// The 3 image plane widgets</div>
<div>vtkSmartPointer<vtkImagePlaneWidget> planeWidgetX = </div><div>                    vtkSmartPointer<vtkImagePlaneWidget>::New();</div><div>planeWidgetX->DisplayTextOn();</div><div>planeWidgetX->SetInput(imgReader->GetOutput());</div>
<div>planeWidgetX->SetPlaneOrientationToXAxes();</div><div>planeWidgetX->SetSliceIndex(int(dims[0]/2));</div><div>planeWidgetX->SetPicker(picker);</div><div>planeWidgetX->SetKeyPressActivationValue('x');</div>
<div>planeWidgetX->GetPlaneProperty()->SetColor(1,0,0);</div></div><div><br></div><div>// Remaining widgets are created the same way</div><div><br></div><div><div>// Set the interactor to the widgets</div><div>planeWidgetX->SetInteractor(renderWindowInteractor);</div>
<div>planeWidgetX->On();</div><div>planeWidgetY->SetInteractor(renderWindowInteractor);</div><div>planeWidgetY->On();</div><div>planeWidgetZ->SetInteractor(renderWindowInteractor);</div><div>planeWidgetZ->On();</div>
<div><br></div><div>// Rendering</div><div>renderWindowInteractor->Initialize();<br></div><div>renderWindow->Render();</div><div><br></div><div>// Start mouse interaction</div><div>renderWindowInteractor->Start();</div>
</div><div><br></div><div>Is there something extra I should consider when implementing the code on Mac OS X?</div><div><br></div><div>Thanks for any suggestion!</div><div><br></div><div>Miguel Sotaquirá</div></div>