VTK  9.7.1
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 
24 VTK_ABI_NAMESPACE_BEGIN
25 
26 class vtkActor;
32 class vtkMapper;
34 class vtkProperty;
35 class vtkTimeStamp;
36 
37 class VTKRENDERINGANARI_EXPORT vtkAnariActorNode : public vtkActorNode
38 {
39 public:
40  static vtkAnariActorNode* New();
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
48  vtkMTimeType GetMTime() override;
49 
54  enum class ScalingMode : int8_t
55  {
56  ALL_EXACT = -1,
57  ALL_APPROXIMATE,
58  EACH_MAPPED,
59  EACH_EXACT
60  };
61 
72  static vtkInformationIntegerKey* ENABLE_SCALING();
73 
75 
78  static void SetEnableScaling(int value, vtkActor*);
79  static int GetEnableScaling(vtkActor*);
81 
90  static vtkInformationStringKey* SCALE_ARRAY_NAME();
91 
93 
96  static void SetScaleArrayName(const char*, vtkActor*);
97  static const char* GetScaleArrayName(vtkActor*);
99 
105  static vtkInformationObjectBaseKey* SCALE_FUNCTION();
106 
108 
111  static void SetScaleFunction(vtkPiecewiseFunction*, vtkActor*);
112  static vtkPiecewiseFunction* GetScaleFunction(vtkActor*);
114 
119  static vtkInformationDoubleKey* LUMINOSITY();
120 
122 
125  static void SetLuminosity(double value, vtkProperty*);
126  static double GetLuminosity(vtkProperty*);
128 
136  static vtkInformationStringKey* ACTOR_NODE_NAME();
137 
145  static vtkInformationIntegerKey* OUTPUT_POINT_AND_CELL_ARRAYS();
146 
152  static vtkInformationIntegerKey* OUTPUT_POINT_AND_CELL_ARRAYS_DOUBLE_TO_FLOAT();
153 
155 
161  static vtkInformationStringVectorKey* SCENEGRAPH_TIME_CONSTANT_POINT_ARRAYS();
162  static vtkInformationStringVectorKey* SCENEGRAPH_TIME_CONSTANT_CELL_ARRAYS();
164 
165 protected:
167 
168 private:
169  vtkAnariActorNode(const vtkAnariActorNode&) = delete;
170  void operator=(const vtkAnariActorNode&) = delete;
171 
172  vtkWeakPointer<vtkMapper> LastMapper;
173  vtkTimeStamp MapperChangedTime;
174 };
175 
176 VTK_ABI_NAMESPACE_END
177 #endif
ScalingMode
Scaling modes for the spheres and cylinders that the back-end renders for points and lines created by...
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
Defines a 1D piecewise function.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
represent surface properties of a geometric object
Definition: vtkProperty.h:59
static vtkActorNode * New()
record modification and/or execution time
Definition: vtkTimeStamp.h:24
Key for string values in vtkInformation.
a simple class to control print indentation
Definition: vtkIndent.h:28
Key for integer values in vtkInformation.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
Key for vtkObjectBase values.
vtkViewNode specialized for vtkActors
Definition: vtkActorNode.h:22
Key for String vector values.
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:77
Key for double values in vtkInformation.
links vtkActor and vtkMapper to ANARI
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.