VTK  9.7.1
vtkAnariVolumeMapperNode.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
14 #ifndef vtkAnariVolumeMapperNode_h
15 #define vtkAnariVolumeMapperNode_h
16 
17 #include "vtkRenderingAnariModule.h" // For export macro
18 #include "vtkVolumeMapperNode.h"
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 
22 class vtkAnariVolumeMapperNodeInternals;
23 class vtkVolume;
24 
25 class VTKRENDERINGANARI_EXPORT vtkAnariVolumeMapperNode : public vtkVolumeMapperNode
26 {
27 public:
28  static vtkAnariVolumeMapperNode* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
33 
36  vtkSetMacro(ColorSize, int);
37  vtkGetMacro(ColorSize, int);
39 
41 
44  vtkSetMacro(OpacitySize, int);
45  vtkGetMacro(OpacitySize, int);
47 
51  void Synchronize(bool prepass) override;
55  void Render(bool prepass) override;
56 
57 private:
59  ~vtkAnariVolumeMapperNode() override;
60 
61  vtkVolume* GetVtkVolume() const;
62  bool VolumeWasModified() const;
63 
64  int ColorSize{ 128 };
65  int OpacitySize{ 128 };
66  vtkAnariVolumeMapperNodeInternals* Internal{ nullptr };
67 
69  void operator=(const vtkAnariVolumeMapperNode&) = delete;
70 };
71 
72 VTK_ABI_NAMESPACE_END
73 #endif
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:40
vtkViewNode specialized for vtkVolumeMappers
virtual void Synchronize(bool)
Ensures that my state agrees with my Renderable's.
Definition: vtkViewNode.h:51
a simple class to control print indentation
Definition: vtkIndent.h:28
static vtkVolumeMapperNode * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void Render(bool)
Makes calls to make self visible.
Definition: vtkViewNode.h:56
links vtkVolumeMapper to ANARI