iMSTK
Interactive Medical Simulation Toolkit
imstkVTKScreenCaptureUtility.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include "imstkScreenCaptureUtility.h"
10 
11 #include <vtkSmartPointer.h>
12 
13 class vtkPNGWriter;
14 class vtkRenderWindow;
15 class vtkWindowToImageFilter;
16 
17 namespace imstk
18 {
25 {
26 public:
28 
29  VTKScreenCaptureUtility(vtkRenderWindow* const rw, const std::string prefix = "Screenshot-");
30  ~VTKScreenCaptureUtility() override = default;
31 
35  virtual std::string saveScreenShot(const std::string& captureName) override;
36 
37 protected:
38  vtkSmartPointer<vtkWindowToImageFilter> m_windowToImageFilter;
39  vtkSmartPointer<vtkPNGWriter> m_pngWriter;
40  vtkRenderWindow* m_renderWindow;
41 };
42 } // namespace imstk
vtkRenderWindow * m_renderWindow
render window whose screen shot will be taken
Compound Geometry.
std::string saveScreenShot()
Saves a screenshot with a name of <prefix><screenshotNumber>.<implementationImageType> the <Implement...
Utility class to manage screen capture.
vtkSmartPointer< vtkPNGWriter > m_pngWriter
using vtk&#39;s png writer to save the screenshots
Utility class to manage screen capture through VTK.