vtkShaderBallScene.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
3 
4 #ifndef vtkShaderBallScene_h
5 #define vtkShaderBallScene_h
6 
7 #include "vtkObject.h"
8 
9 #include "vtkExtensionsShaderBallModule.h" // needed for export macros
10 #include "vtkNew.h" // for ivars
11 #include "vtkSetGet.h" // for get/set macros
12 
13 class vtkActor;
15 class vtkRenderer;
16 
23 class VTKEXTENSIONSSHADERBALL_EXPORT vtkShaderBallScene : public vtkObject
24 {
25 public:
26  static vtkShaderBallScene* New();
27  vtkTypeMacro(vtkShaderBallScene, vtkObject);
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
33  vtkGetObjectMacro(Window, vtkGenericOpenGLRenderWindow);
34 
38  vtkGetObjectMacro(Renderer, vtkRenderer);
39 
41 
45  void SetMaterialName(const char*);
46  const char* GetMaterialName() const;
48 
50 
54  void SetNumberOfSamples(int numberOfSamples);
55  int GetNumberOfSamples() const;
57 
59 
63  void SetVisible(bool visible);
64  vtkGetMacro(Visible, bool);
65  vtkBooleanMacro(Visible, bool);
67 
71  void Render();
72 
80  void ResetOSPrayPass();
81 
82  void Modified() override;
83 
84 protected:
86  virtual ~vtkShaderBallScene();
87 
88 private:
89  vtkShaderBallScene(const vtkShaderBallScene&) = delete;
90  void operator=(const vtkShaderBallScene&) = delete;
91 
93  vtkNew<vtkActor> SphereActor;
94  vtkNew<vtkRenderer> Renderer;
95 
96  bool NeedRender = true;
97  bool Visible = false;
98 };
99 
100 #endif // vtkShaderBallScene_h
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void Modified()
Used as part of the pqMaterialEditor to display the current selected material in a simple scene conta...
static vtkObject * New()
void operator=(const vtkObjectBase &)