48 lines
880 B
C++
48 lines
880 B
C++
#ifndef ULIBVTKVIEWER_H
|
|
#define ULIBVTKVIEWER_H
|
|
|
|
#include "vtkViewport.h"
|
|
|
|
class vtkRenderWindow;
|
|
class vtkRenderWindowInteractor;
|
|
class vtkRenderer;
|
|
class vtkCameraOrientationWidget;
|
|
|
|
namespace uLib {
|
|
namespace Vtk {
|
|
|
|
struct ViewerData;
|
|
|
|
class Viewer : public Viewport {
|
|
|
|
public:
|
|
Viewer();
|
|
virtual ~Viewer();
|
|
|
|
// Render scene
|
|
virtual void Render() override;
|
|
|
|
static vtkCameraOrientationWidget *
|
|
MakeCameraOrientationWidget(vtkRenderWindowInteractor *interactor,
|
|
vtkRenderer *renderer);
|
|
|
|
void Start();
|
|
|
|
virtual vtkRenderWindow *GetRenderWindow() override;
|
|
virtual vtkRenderWindowInteractor *GetInteractor() override;
|
|
|
|
private:
|
|
void InstallPipe();
|
|
void UninstallPipe();
|
|
|
|
void SetupGridButton();
|
|
void UpdateGridButtonPosition();
|
|
|
|
struct ViewerData *d;
|
|
};
|
|
|
|
} // namespace Vtk
|
|
} // namespace uLib
|
|
|
|
#endif // ULIBVTKVIEWER_H
|