VTK  9.7.1
vtkAnariCompositePolyDataMapperNode.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 vtkAnariCompositePolyDataMapperNode_h
15 #define vtkAnariCompositePolyDataMapperNode_h
16 
18 #include "vtkColor.h" // used for ivars
19 #include "vtkRenderingAnariModule.h" // For export macro
20 
21 #include <stack> // used for ivars
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 
25 class vtkActor;
26 class vtkMapper;
27 class vtkDataObject;
30 
31 class VTKRENDERINGANARI_EXPORT vtkAnariCompositePolyDataMapperNode
33 {
34 public:
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
42  void Synchronize(bool prepass) override;
43 
47  void Invalidate(bool prepass) override;
48 
49 protected:
51 
52  void SynchronizeBlock(vtkMapper*, vtkActor*, vtkDataObject*, unsigned int&);
53 
54  virtual vtkCompositeDataDisplayAttributes* GetCompositeDisplayAttributes();
55 
57  {
58  public:
59  std::stack<bool> Visibility;
60  std::stack<double> Opacity;
61  std::stack<vtkColor3d> AmbientColor;
62  std::stack<vtkColor3d> DiffuseColor;
63  std::stack<vtkColor3d> SpecularColor;
64  std::stack<std::string> Material;
65  };
66 
68 
69 private:
71  void operator=(const vtkAnariCompositePolyDataMapperNode&) = delete;
72 };
73 
74 VTK_ABI_NAMESPACE_END
75 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
Rendering attributes for a multi-block dataset.
links vtkActor and vtkMapper to ANARI
void Invalidate(bool prepass) override
Invalidates cached rendering data.
void Synchronize(bool prepass) override
Sync ANARIGeometry + ANARIMaterial parameters with vtkPolyData.
a simple class to control print indentation
Definition: vtkIndent.h:28
links vtkActor and vtkMapper to ANARI
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:77
static vtkAnariPolyDataMapperNode * New()
general representation of visualization data
Definition: vtkDataObject.h:55
a class that renders hierarchical polygonal data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.