VTK  9.2.6
vtkOSPRayCompositePolyDataMapper2Node.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOSPRayCompositePolyDataMapper2Node.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
22 #ifndef vtkOSPRayCompositePolyDataMapper2Node_h
23 #define vtkOSPRayCompositePolyDataMapper2Node_h
24 
25 #include "vtkColor.h" // used for ivars
27 #include "vtkRenderingRayTracingModule.h" // For export macro
28 #include <stack> // used for ivars
29 
30 class vtkDataObject;
33 
34 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayCompositePolyDataMapper2Node
36 {
37 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
45  void Render(bool prepass) override;
46 
50  void Invalidate(bool prepass) override;
51 
52 protected:
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  void RenderBlock(vtkOSPRayRendererNode* orn, vtkCompositePolyDataMapper2* cpdm, vtkActor* actor,
69  vtkDataObject* dobj, unsigned int& flat_index);
70 
71 private:
73  void operator=(const vtkOSPRayCompositePolyDataMapper2Node&) = delete;
74 };
75 #endif
void Render(bool prepass) override
Make ospray calls to render me.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
mapper for composite dataset consisting of polygonal data.
links vtkActor and vtkMapper to OSPRay
static vtkOSPRayPolyDataMapperNode * New()
a simple class to control print indentation
Definition: vtkIndent.h:39
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:65