VTK  9.5.20250806
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;
24class vtkAnariPolyDataMapperNodeInternals;
27class 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;
63
65
66 void AnariRenderPoly(vtkAnariActorNode* anariActorNode, vtkPolyData* poly, double* diffuse,
67 double opacity, const std::string& materialName);
68
69 vtkAnariPolyDataMapperNodeInternals* Internal{ nullptr };
70 vtkAnariSceneGraph* RendererNode{ nullptr };
71
72private:
74 void operator=(const vtkAnariPolyDataMapperNode&) = delete;
75};
76
77VTK_ABI_NAMESPACE_END
78#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
links vtkActor and vtkMapper to ANARI
Interface for inheriting classes for overriding mapper functionality.
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
~vtkAnariPolyDataMapperNode() override
void SetInheritInterface(vtkAnariPolyDataMapperInheritInterface *inheritInterface)
void Synchronize(bool prepass) override
Sync ANARIGeometry + ANARIMaterial parameters with vtkPolyData.
void AnariRenderPoly(vtkAnariActorNode *anariActorNode, vtkPolyData *poly, double *diffuse, double opacity, const std::string &materialName)
static vtkAnariPolyDataMapperNode * New()
void Build(bool prepass) override
Ensure this node has been initialized.
void Invalidate(bool prepass) override
Invalidates cached rendering data.
vtkActor * GetVtkActor() const
links vtkRenderers to ANARI
a simple class to control print indentation
Definition vtkIndent.h:108
vtkViewNode specialized for vtkPolyDataMappers
concrete dataset represents vertices, lines, polygons, and triangle strips