Просмотр исходного кода

ctkVTKSliceView - Add method setActiveCamera and update resetCamera

setActiveCamera and resetCamera make sure both the light box and the
overlay renderer are properly configured.
Jean-Christophe Fillion-Robin лет назад: 14
Родитель
Сommit
0515114359

+ 9 - 0
Libs/Visualization/VTK/Widgets/ctkVTKSliceView.cpp

@@ -150,6 +150,14 @@ void ctkVTKSliceView::forceRender()
 CTK_GET_CPP(ctkVTKSliceView, vtkRenderWindow*, renderWindow, RenderWindow);
 
 //----------------------------------------------------------------------------
+void ctkVTKSliceView::setActiveCamera(vtkCamera * newActiveCamera)
+{
+  Q_D(ctkVTKSliceView);
+  d->LightBoxRendererManager->SetActiveCamera(newActiveCamera);
+  d->OverlayRenderer->SetActiveCamera(newActiveCamera);
+}
+
+//----------------------------------------------------------------------------
 CTK_GET_CPP(ctkVTKSliceView, vtkLightBoxRendererManager*,
             lightBoxRendererManager, LightBoxRendererManager);
 
@@ -189,6 +197,7 @@ vtkInteractorObserver* ctkVTKSliceView::interactorStyle()const
 void ctkVTKSliceView::resetCamera()
 {
   Q_D(ctkVTKSliceView);
+  d->OverlayRenderer->ResetCamera();
   d->LightBoxRendererManager->ResetCamera();
 }
 

+ 3 - 0
Libs/Visualization/VTK/Widgets/ctkVTKSliceView.h

@@ -69,6 +69,9 @@ public:
   /// Convenient method to get the underlying RenderWindow
   vtkRenderWindow* renderWindow() const;
 
+  /// Set active camera
+  void setActiveCamera(vtkCamera * newActiveCamera);
+
   /// Get lightBoxRendererManager
   vtkLightBoxRendererManager* lightBoxRendererManager() const;