Loading [MathJax]/extensions/tex2jax.js
VTK  9.4.20250324
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
48 virtual vtkMTimeType GetMTime() override;
49
54 enum class ScalingMode
55 {
56 ALL_EXACT = -1,
57 ALL_APPROXIMATE,
58 EACH_MAPPED,
59 EACH_EXACT
60 };
61
72
74
77 static void SetEnableScaling(int value, vtkActor*);
80
89
91
94 static void SetScaleArrayName(const char*, vtkActor*);
95 static const char* GetScaleArrayName(vtkActor*);
97
103
105
111
116
118
121 static void SetLuminosity(double value, vtkProperty*);
122 static double GetLuminosity(vtkProperty*);
124
132
140
146
154
155protected:
158
159private:
160 vtkAnariActorNode(const vtkAnariActorNode&) = delete;
161 void operator=(const vtkAnariActorNode&) = delete;
162
163 vtkWeakPointer<vtkMapper> LastMapper;
164 vtkTimeStamp MapperChangedTime;
165};
166
167VTK_ABI_NAMESPACE_END
168#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 vtkInformationStringKey * SCALE_ARRAY_NAME()
Name of a point aligned, single component wide, double valued array that, when added to the mapper,...
virtual vtkMTimeType GetMTime() override
Overridden to take into account my renderables time, including mapper and data into mapper inclusive ...
static double GetLuminosity(vtkProperty *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkAnariActorNode()=default
static const char * GetScaleArrayName(vtkActor *)
static vtkInformationStringVectorKey * SCENEGRAPH_TIME_CONSTANT_POINT_ARRAYS()
Array metadata for intermediate authoring steps, which denotes the arrays which are not written out s...
ScalingMode
Scaling modes for the spheres and cylinders that the back-end renders for points and lines created by...
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 void SetEnableScaling(int value, vtkActor *)
Convenience method to set enabled scaling on my renderable.
static vtkInformationIntegerKey * OUTPUT_POINT_AND_CELL_ARRAYS()
Indicates that the actor includes point and cell attribute arrays within its rendering output.
static void SetLuminosity(double value, vtkProperty *)
Convenience method to set luminosity on my renderable.
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 vtkAnariActorNode * New()
static vtkInformationStringVectorKey * SCENEGRAPH_TIME_CONSTANT_CELL_ARRAYS()
static vtkPiecewiseFunction * GetScaleFunction(vtkActor *)
static void SetScaleArrayName(const char *, vtkActor *)
Convenience method to get/set a scale array on my renderable.
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.
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.
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287