VTK  9.5.20250813
vtkAnariActorNode.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
17#ifndef vtkAnariActorNode_h
18#define vtkAnariActorNode_h
19
20#include "vtkActorNode.h"
21#include "vtkRenderingAnariModule.h" // For export macro
22#include "vtkWeakPointer.h" // For ivar
23
24VTK_ABI_NAMESPACE_BEGIN
25
26class vtkActor;
32class vtkMapper;
34class vtkProperty;
35class vtkTimeStamp;
36
37class VTKRENDERINGANARI_EXPORT vtkAnariActorNode : public vtkActorNode
38{
39public:
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
49
54 enum class ScalingMode : int8_t
55 {
56 ALL_EXACT = -1,
57 ALL_APPROXIMATE,
58 EACH_MAPPED,
59 EACH_EXACT
60 };
61
73
75
78 static void SetEnableScaling(int value, vtkActor*);
81
91
93
96 static void SetScaleArrayName(const char*, vtkActor*);
97 static const char* GetScaleArrayName(vtkActor*);
99
106
108
114
120
122
125 static void SetLuminosity(double value, vtkProperty*);
126 static double GetLuminosity(vtkProperty*);
128
137
146
153
155
164
165protected:
167
168private:
169 vtkAnariActorNode(const vtkAnariActorNode&) = delete;
170 void operator=(const vtkAnariActorNode&) = delete;
171
172 vtkWeakPointer<vtkMapper> LastMapper;
173 vtkTimeStamp MapperChangedTime;
174};
175
176VTK_ABI_NAMESPACE_END
177#endif
vtkViewNode specialized for vtkActors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
links vtkActor and vtkMapper to ANARI
static double GetLuminosity(vtkProperty *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static const char * GetScaleArrayName(vtkActor *)
static void SetEnableScaling(int value, vtkActor *)
Convenience method to set enabled scaling on my renderable.
static void SetLuminosity(double value, vtkProperty *)
Convenience method to set luminosity on my renderable.
ScalingMode
Scaling modes for the spheres and cylinders that the back-end renders for points and lines created by...
vtkMTimeType GetMTime() override
Overridden to take into account my renderables time, including mapper and data into mapper inclusive ...
static vtkAnariActorNode * New()
static vtkPiecewiseFunction * GetScaleFunction(vtkActor *)
static void SetScaleArrayName(const char *, vtkActor *)
Convenience method to get/set a scale array on my renderable.
static int GetEnableScaling(vtkActor *)
static void SetScaleFunction(vtkPiecewiseFunction *, vtkActor *)
Convenience method to set a scale function on my renderable.
a simple class to control print indentation
Definition vtkIndent.h:108
Key for double values in vtkInformation.
Key for integer values in vtkInformation.
Key for vtkObjectBase values.
Key for string values in vtkInformation.
abstract class specifies interface to map data to graphics primitives
Definition vtkMapper.h:98
Defines a 1D piecewise function.
represent surface properties of a geometric object
record modification and/or execution time
a weak reference to a vtkObject.
static vtkInformationStringKey * SCALE_ARRAY_NAME()
Name of a point aligned, single component wide, double valued array that, when added to the mapper,...
static vtkInformationStringVectorKey * SCENEGRAPH_TIME_CONSTANT_POINT_ARRAYS()
Array metadata for intermediate authoring steps, which denotes the arrays which are not written out s...
static vtkInformationDoubleKey * LUMINOSITY()
Indicates that the actor acts as a light emitting object.
static vtkInformationStringKey * ACTOR_NODE_NAME()
Name of the node, used for debugging or representation metadata in case an ANARI backend is chosen wh...
static vtkInformationIntegerKey * OUTPUT_POINT_AND_CELL_ARRAYS()
Indicates that the actor includes point and cell attribute arrays within its rendering output.
static vtkInformationIntegerKey * OUTPUT_POINT_AND_CELL_ARRAYS_DOUBLE_TO_FLOAT()
Whether the output enabled with OUTPUT_POINT_AND_CELL_ARRAYS should convert double arrays to float.
static vtkInformationStringVectorKey * SCENEGRAPH_TIME_CONSTANT_CELL_ARRAYS()
Array metadata for intermediate authoring steps, which denotes the arrays which are not written out s...
static vtkInformationObjectBaseKey * SCALE_FUNCTION()
A piecewise function for values from the scale array that alters the resulting radii arbitrarily.
static vtkInformationIntegerKey * ENABLE_SCALING()
A key to set the ScalingMode.
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287