VTK: Rendering/RayTracing/vtkOSPRayPolyDataMapperNode.h Source File

| VTK 9.3.1

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:
24 static vtkOSPRayPolyDataMapperNode* New();
25 vtkTypeMacro(vtkOSPRayPolyDataMapperNode, vtkPolyDataMapperNode);
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:
39 vtkOSPRayPolyDataMapperNode();
40 ~vtkOSPRayPolyDataMapperNode() override;
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;
47 void ClearGeometricModels();
48
52 void RenderGeometricModels();
53
54 private:
55 vtkOSPRayPolyDataMapperNode(const vtkOSPRayPolyDataMapperNode&) = delete;
56 void operator=(const vtkOSPRayPolyDataMapperNode&) = delete;
57 };
58
59 VTK_ABI_NAMESPACE_END
60 #endif
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkOSPRayActorNode
links vtkActor and vtkMapper to OSPRay
Definition: vtkOSPRayActorNode.h:36
vtkOSPRayPolyDataMapperNode
links vtkActor and vtkMapper to OSPRay
Definition: vtkOSPRayPolyDataMapperNode.h:22
vtkOSPRayPolyDataMapperNode::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOSPRayPolyDataMapperNode::ORenderPoly
void ORenderPoly(void *renderer, vtkOSPRayActorNode *aNode, vtkPolyData *poly, double *ambientColor, double *diffuseColor, double opacity, std::string material)
vtkOSPRayPolyDataMapperNode::ClearGeometricModels
void ClearGeometricModels()
vtkOSPRayPolyDataMapperNode::Invalidate
void Invalidate(bool prepass) override
Invalidates cached rendering data.
vtkOSPRayPolyDataMapperNode::GeometricModels
std::vector< OSPGeometricModel > GeometricModels
Definition: vtkOSPRayPolyDataMapperNode.h:45
vtkOSPRayPolyDataMapperNode::New
static vtkOSPRayPolyDataMapperNode * New()
vtkOSPRayPolyDataMapperNode::vtkOSPRayPolyDataMapperNode
vtkOSPRayPolyDataMapperNode()
vtkOSPRayPolyDataMapperNode::~vtkOSPRayPolyDataMapperNode
~vtkOSPRayPolyDataMapperNode() override
vtkOSPRayPolyDataMapperNode::Render
void Render(bool prepass) override
Make ospray calls to render me.
vtkOSPRayPolyDataMapperNode::Instances
std::vector< OSPInstance > Instances
Definition: vtkOSPRayPolyDataMapperNode.h:46
vtkOSPRayPolyDataMapperNode::RenderGeometricModels
void RenderGeometricModels()
add precomputed ospray geometries to renderer model.
vtkPolyDataMapperNode
vtkViewNode specialized for vtkPolyDataMappers
Definition: vtkPolyDataMapperNode.h:26
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
vtkX3D::diffuseColor
@ diffuseColor
Definition: vtkX3D.h:240
vtkX3D::string
@ string
Definition: vtkX3D.h:490
vtkOSPRayCache.h
vtkPolyDataMapperNode.h