VTK  9.3.0
vtkOSPRayPolyDataMapperNode.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 vtkOSPRayPolyDataMapperNode_h
11 #define vtkOSPRayPolyDataMapperNode_h
12 
13 #include "vtkOSPRayCache.h" // For common cache infrastructure
14 #include "vtkPolyDataMapperNode.h"
15 #include "vtkRenderingRayTracingModule.h" // For export macro
16 
17 VTK_ABI_NAMESPACE_BEGIN
18 class vtkOSPRayActorNode;
19 class vtkPolyData;
20 
21 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayPolyDataMapperNode : public vtkPolyDataMapperNode
22 {
23 public:
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
31  void Render(bool prepass) override;
32 
36  void Invalidate(bool prepass) override;
37 
38 protected:
41 
42  void ORenderPoly(void* renderer, vtkOSPRayActorNode* aNode, vtkPolyData* poly,
43  double* ambientColor, double* diffuseColor, double opacity, std::string material);
44 
45  std::vector<OSPGeometricModel> GeometricModels;
46  std::vector<OSPInstance> Instances;
48 
53 
54 private:
56  void operator=(const vtkOSPRayPolyDataMapperNode&) = delete;
57 };
58 
59 VTK_ABI_NAMESPACE_END
60 #endif
a simple class to control print indentation
Definition: vtkIndent.h:38
links vtkActor and vtkMapper to OSPRay
links vtkActor and vtkMapper to OSPRay
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ORenderPoly(void *renderer, vtkOSPRayActorNode *aNode, vtkPolyData *poly, double *ambientColor, double *diffuseColor, double opacity, std::string material)
void Invalidate(bool prepass) override
Invalidates cached rendering data.
std::vector< OSPGeometricModel > GeometricModels
static vtkOSPRayPolyDataMapperNode * New()
~vtkOSPRayPolyDataMapperNode() override
void Render(bool prepass) override
Make ospray calls to render me.
std::vector< OSPInstance > Instances
void RenderGeometricModels()
add precomputed ospray geometries to renderer model.
vtkViewNode specialized for vtkPolyDataMappers
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
@ diffuseColor
Definition: vtkX3D.h:240
@ string
Definition: vtkX3D.h:490