VTK  9.3.0
vtkOSPRayActorNode.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
13 #ifndef vtkOSPRayActorNode_h
14 #define vtkOSPRayActorNode_h
15 
16 #include "vtkActorNode.h"
17 #include "vtkRenderingRayTracingModule.h" // For export macro
18 #include "vtkTimeStamp.h" //for mapper changed time
19 #include "vtkWeakPointer.h" //also for mapper changed time
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class vtkActor;
24 class vtkDataArray;
29 class vtkMapper;
31 class vtkPolyData;
32 class vtkProperty;
33 class vtkTimeStamp;
34 
35 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayActorNode : public vtkActorNode
36 {
37 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
46  vtkMTimeType GetMTime() override;
47 
53  {
54  ALL_EXACT = -1,
57  EACH_EXACT
58  };
59 
69 
71 
74  static void SetEnableScaling(int value, vtkActor*);
75  static int GetEnableScaling(vtkActor*);
77 
86 
90  static void SetScaleArrayName(const char* scaleArrayName, vtkActor*);
91 
97 
101  static void SetScaleFunction(vtkPiecewiseFunction* scaleFunction, vtkActor*);
102 
107 
109 
112  static void SetLuminosity(double value, vtkProperty*);
113  static double GetLuminosity(vtkProperty*);
115 
116 protected:
119 
120 private:
121  vtkOSPRayActorNode(const vtkOSPRayActorNode&) = delete;
122  void operator=(const vtkOSPRayActorNode&) = delete;
123 
124  vtkWeakPointer<vtkMapper> LastMapper;
125  vtkTimeStamp MapperChangedTime;
126 };
127 VTK_ABI_NAMESPACE_END
128 #endif
vtkViewNode specialized for vtkActors
Definition: vtkActorNode.h:23
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
Rendering attributes for a multi-block dataset.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
a simple class to control print indentation
Definition: vtkIndent.h:38
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:86
links vtkActor and vtkMapper to OSPRay
static vtkInformationObjectBaseKey * SCALE_FUNCTION()
A piecewise function for values from the scale array that alters the resulting radii arbitrarily.
static void SetEnableScaling(int value, vtkActor *)
Convenience method to set enable_scaling on my renderable.
~vtkOSPRayActorNode() override
static vtkInformationStringKey * SCALE_ARRAY_NAME()
Name of a point aligned, single component wide, double valued array that, when added to the mapper,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void SetScaleFunction(vtkPiecewiseFunction *scaleFunction, vtkActor *)
Convenience method to set a scale_function on my renderable.
vtkMTimeType GetMTime() override
Overridden to take into account my renderables time, including mapper and data into mapper inclusive ...
static void SetScaleArrayName(const char *scaleArrayName, vtkActor *)
Convenience method to set a scale_array_name on my renderable.
static int GetEnableScaling(vtkActor *)
Convenience method to set enable_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 raytracer renders for points and lines created b...
static vtkInformationIntegerKey * ENABLE_SCALING()
A key to set the ScalingMode.
static vtkOSPRayActorNode * New()
static double GetLuminosity(vtkProperty *)
Convenience method to set luminosity on my renderable.
static vtkInformationDoubleKey * LUMINOSITY()
Indicates that the actor acts as a light emitting object.
Defines a 1D piecewise function.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
represent surface properties of a geometric object
Definition: vtkProperty.h:66
record modification and/or execution time
Definition: vtkTimeStamp.h:34
@ value
Definition: vtkX3D.h:220
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270