VTK  9.3.20240919
vtkAnariPolyDataMapperNode.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
14#ifndef vtkAnariPolyDataMapperNode_h
15#define vtkAnariPolyDataMapperNode_h
16
18#include "vtkRenderingAnariModule.h" // For export macro
19
20VTK_ABI_NAMESPACE_BEGIN
21
22class vtkActor;
23class vtkAnariPolyDataMapperNodeInternals;
25class vtkPolyData;
28
29class VTKRENDERINGANARI_EXPORT vtkAnariPolyDataMapperNode : public vtkPolyDataMapperNode
30{
31public:
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
39 void Build(bool prepass) override;
43 void Synchronize(bool prepass) override;
47 void Render(bool prepass) override;
51 void Invalidate(bool prepass) override;
52
53protected:
56
59 bool ActorWasModified() const;
62
63 void AnariRenderPoly(vtkAnariActorNode* const anariActorNode, vtkPolyData* const poly,
64 double* const diffuse, const double opacity, const std::string& materialName);
65
66 vtkAnariPolyDataMapperNodeInternals* Internal{ nullptr };
67 vtkAnariRendererNode* RendererNode{ nullptr };
68
69private:
71 void operator=(const vtkAnariPolyDataMapperNode&) = delete;
72};
73
74VTK_ABI_NAMESPACE_END
75#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
links vtkActor and vtkMapper to ANARI
links vtkActor and vtkMapper to ANARI
void Render(bool prepass) override
Make ANARI calls to render me.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAnariActorNode * GetAnariActorNode() const
void Synchronize(bool prepass) override
Sync ANARIGeometry + ANARIMaterial parameters with vtkPolyData.
static vtkAnariPolyDataMapperNode * New()
void Build(bool prepass) override
Ensure this node has been intialized.
void AnariRenderPoly(vtkAnariActorNode *const anariActorNode, vtkPolyData *const poly, double *const diffuse, const double opacity, const std::string &materialName)
void Invalidate(bool prepass) override
Invalidates cached rendering data.
vtkActor * GetVtkActor() const
links vtkRenderers to ANARI
Extracts outer surface (as vtkPolyData) of any dataset.
a simple class to control print indentation
Definition vtkIndent.h:108
vtkViewNode specialized for vtkPolyDataMappers
concrete dataset represents vertices, lines, polygons, and triangle strips