VTK  9.7.1
vtkAnariVolumeMapper.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
16 #ifndef vtkAnariVolumeMapper_h
17 #define vtkAnariVolumeMapper_h
18 
20 #include "vtkRenderingAnariModule.h" // For export macro
21 
22 VTK_ABI_NAMESPACE_BEGIN
23 
24 class vtkAnariPass;
25 class vtkRenderer;
26 class vtkWindow;
27 
28 class VTKRENDERINGANARI_EXPORT vtkAnariVolumeMapper : public vtkAnariVolumeInterface
29 {
30 public:
31  static vtkAnariVolumeMapper* New();
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
40  void ReleaseGraphicsResources(vtkWindow*) override;
41 
42  // Initialize internal constructs
43  virtual void Init();
44 
49  void Render(vtkRenderer*, vtkVolume*) override;
50 
54  vtkRenderer* GetInternalRenderer() const { return this->InternalRenderer; }
55 
59  vtkAnariPass* GetAnariPass() const { return this->InternalAnariPass; }
60 
62 
66  vtkSetMacro(Initialized, bool);
67  vtkGetMacro(Initialized, bool);
68  vtkBooleanMacro(Initialized, bool);
70 
71 protected:
73  ~vtkAnariVolumeMapper() override;
74 
78 
79 private:
81  void operator=(const vtkAnariVolumeMapper&) = delete;
82 };
83 
84 VTK_ABI_NAMESPACE_END
85 #endif
vtkRenderer * InternalRenderer
Removes link dependence on optional ANARI module.
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:40
static vtkAnariVolumeInterface * New()
vtkAnariPass * InternalAnariPass
void Render(vtkRenderer *, vtkVolume *) override
Overridden to warn about lack of ANARI if not overridden.
abstract specification for renderers
Definition: vtkRenderer.h:63
Standalone ANARI VolumeMapper.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
a render pass that uses ANARI (ANAlytic Rendering Interface) instead of OpenGL.
Definition: vtkAnariPass.h:42
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
vtkRenderer * GetInternalRenderer() const
Allow vtkAnariSceneGraph properties to be set on the internal vtkRenderer.
vtkAnariPass * GetAnariPass() const
Get the internal ANARI render pass.