VTK  9.3.1
vtkOSPRayCompositePolyDataMapperNode.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
10 #ifndef vtkOSPRayCompositePolyDataMapperNode_h
11 #define vtkOSPRayCompositePolyDataMapperNode_h
12 
13 #include "vtkColor.h" // used for ivars
15 #include "vtkRenderingRayTracingModule.h" // For export macro
16 #include <stack> // used for ivars
17 
18 VTK_ABI_NAMESPACE_BEGIN
19 class vtkDataObject;
22 
23 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayCompositePolyDataMapperNode
25 {
26 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
34  void Render(bool prepass) override;
35 
39  void Invalidate(bool prepass) override;
40 
41 protected:
44 
46  {
47  public:
48  std::stack<bool> Visibility;
49  std::stack<double> Opacity;
50  std::stack<vtkColor3d> AmbientColor;
51  std::stack<vtkColor3d> DiffuseColor;
52  std::stack<vtkColor3d> SpecularColor;
53  std::stack<std::string> Material;
54  };
55 
57  void RenderBlock(vtkOSPRayRendererNode* orn, vtkCompositePolyDataMapper* cpdm, vtkActor* actor,
58  vtkDataObject* dobj, unsigned int& flat_index);
59 
60 private:
62  void operator=(const vtkOSPRayCompositePolyDataMapperNode&) = delete;
63 };
64 VTK_ABI_NAMESPACE_END
65 #endif
void Render(bool prepass) override
Make ospray calls to render me.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:40
links vtkActor and vtkMapper to OSPRay
static vtkOSPRayPolyDataMapperNode * New()
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Invalidate(bool prepass) override
Invalidates cached rendering data.
links vtkRenderers to OSPRay
general representation of visualization data
Definition: vtkDataObject.h:54
a class that renders hierarchical polygonal data