VTK  9.7.1
vtkAnariTestInteractor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 // .SECTION Description
4 // A common interactor style for the ANARI tests that understands
5 // the following key presses.
6 // c => switch between ANARI and GL
7 // n => focuses view on the next actor and hides all others
8 // 2/1 => increase/decrease the number of samples per pixel
9 // l => turns on each light in the scene in turn
10 // I/i => increase/decrease the global light intensity scale
11 // D/d => increase/decrease the number of ambient occlusion samples
12 // t => change renderer type: default, scivis, pathtracer
13 // b => TODO: Change other parameters
14 
15 #ifndef vtkAnariTestInteractor_h
16 #define vtkAnariTestInteractor_h
17 
19 
20 #include <string>
21 #include <vector>
22 
23 class vtkCommand;
24 class vtkRenderer;
25 class vtkRenderPass;
26 class vtkRenderWindow;
27 
28 // Define interaction style
30 {
31 private:
32  vtkRenderer* GLRenderer;
33  vtkRenderPass* O;
34  vtkRenderPass* G;
35  int VisibleActor;
36  int VisibleLight;
37  vtkCommand* Looper;
38 
39 public:
40  static vtkAnariTestInteractor* New();
45  virtual void OnKeyPress() override;
46 
47  static void AddName(const char* name);
48 
49  // access to a progressive rendering automator
51 };
52 
53 #endif
void SetPipelineControlPoints(vtkRenderer *g, vtkRenderPass *_O, vtkRenderPass *_G)
static void AddName(const char *name)
virtual void OnKeyPress() override
abstract specification for renderers
Definition: vtkRenderer.h:63
superclass for callback/observer methods
Definition: vtkCommand.h:384
static vtkAnariTestInteractor * New()
create a window for renderers to draw into
interactive manipulation of the camera
vtkCommand * GetLooper(vtkRenderWindow *)
Perform part of the rendering of a vtkRenderer.
Definition: vtkRenderPass.h:49