VTK  9.3.20240916
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;
31class vtkMapper;
33class vtkProperty;
34class vtkTimeStamp;
35
36class VTKRENDERINGANARI_EXPORT vtkAnariActorNode : public vtkActorNode
37{
38public:
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
47 virtual vtkMTimeType GetMTime() override;
48
53 enum class ScalingMode
54 {
55 ALL_EXACT = -1,
56 ALL_APPROXIMATE,
57 EACH_MAPPED,
58 EACH_EXACT
59 };
60
71
73
76 static void SetEnableScaling(int value, vtkActor*);
79
88
90
93 static void SetScaleArrayName(const char*, vtkActor*);
94 static const char* GetScaleArrayName(vtkActor*);
96
102
104
110
115
117
120 static void SetLuminosity(double value, vtkProperty*);
121 static double GetLuminosity(vtkProperty*);
123
124protected:
127
128private:
129 vtkAnariActorNode(const vtkAnariActorNode&) = delete;
130 void operator=(const vtkAnariActorNode&) = delete;
131
132 vtkWeakPointer<vtkMapper> LastMapper;
133 vtkTimeStamp MapperChangedTime;
134};
135
136VTK_ABI_NAMESPACE_END
137#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 *)
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 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.
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 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:137
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:270