VTK  9.2.6
vtkOSPRayPolyDataMapperNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOSPRayPolyDataMapperNode.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 vtkOSPRayPolyDataMapperNode_h
23 #define vtkOSPRayPolyDataMapperNode_h
24 
25 #include "vtkOSPRayCache.h" // For common cache infrastructure
26 #include "vtkPolyDataMapperNode.h"
27 #include "vtkRenderingRayTracingModule.h" // For export macro
28 
29 class vtkOSPRayActorNode;
30 class vtkPolyData;
31 
32 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayPolyDataMapperNode : public vtkPolyDataMapperNode
33 {
34 public:
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
42  void Render(bool prepass) override;
43 
47  void Invalidate(bool prepass) override;
48 
49 protected:
51  ~vtkOSPRayPolyDataMapperNode() override;
52 
53  void ORenderPoly(void* renderer, vtkOSPRayActorNode* aNode, vtkPolyData* poly,
54  double* ambientColor, double* diffuseColor, double opacity, std::string material);
55 
56  std::vector<OSPGeometricModel> GeometricModels;
57  std::vector<OSPInstance> Instances;
58  void ClearGeometricModels();
59 
63  void RenderGeometricModels();
64 
65 private:
67  void operator=(const vtkOSPRayPolyDataMapperNode&) = delete;
68 };
69 
70 #endif
vtkViewNode specialized for vtkPolyDataMappers
links vtkActor and vtkMapper to OSPRay
std::vector< OSPInstance > Instances
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:90
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.
std::vector< OSPGeometricModel > GeometricModels
a simple class to control print indentation
Definition: vtkIndent.h:39
static vtkPolyDataMapperNode * New()
virtual void Render(bool)
Makes calls to make self visible.
Definition: vtkViewNode.h:67
virtual void Invalidate(bool)
Clear any cached data.
Definition: vtkViewNode.h:72