VTK  9.3.20240425
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
21VTK_ABI_NAMESPACE_BEGIN
22class vtkActor;
24class vtkDataArray;
29class vtkMapper;
31class vtkPolyData;
32class vtkProperty;
33class vtkTimeStamp;
34
35class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayActorNode : public vtkActorNode
36{
37public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
47
53 {
54 ALL_EXACT = -1,
57 EACH_EXACT
58 };
59
69
71
74 static void SetEnableScaling(int value, 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
116protected:
119
120private:
121 vtkOSPRayActorNode(const vtkOSPRayActorNode&) = delete;
122 void operator=(const vtkOSPRayActorNode&) = delete;
123
124 vtkWeakPointer<vtkMapper> LastMapper;
125 vtkTimeStamp MapperChangedTime;
126};
127VTK_ABI_NAMESPACE_END
128#endif
vtkViewNode specialized for vtkActors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
Rendering attributes for a multi-block dataset.
abstract superclass for arrays of numeric data
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
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 vtkInformationDoubleKey * LUMINOSITY()
Indicates that the actor acts as a light emitting object.
static void SetEnableScaling(int value, vtkActor *)
Convenience method to set enable_scaling on my renderable.
static vtkOSPRayActorNode * New()
static vtkInformationIntegerKey * ENABLE_SCALING()
A key to set the ScalingMode.
~vtkOSPRayActorNode() override
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 vtkInformationStringKey * SCALE_ARRAY_NAME()
Name of a point aligned, single component wide, double valued array that, when added to the mapper,...
static double GetLuminosity(vtkProperty *)
Convenience method to set luminosity on my renderable.
Defines a 1D piecewise function.
concrete dataset represents vertices, lines, polygons, and triangle strips
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