VTK  9.1.0
vtkOSPRayActorNode.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkOSPRayActorNode.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
22#ifndef vtkOSPRayActorNode_h
23#define vtkOSPRayActorNode_h
24
25#include "vtkActorNode.h"
26#include "vtkRenderingRayTracingModule.h" // For export macro
27#include "vtkTimeStamp.h" //for mapper changed time
28#include "vtkWeakPointer.h" //also for mapper changed time
29
30class vtkActor;
32class vtkDataArray;
37class vtkMapper;
39class vtkPolyData;
40class vtkProperty;
41class vtkTimeStamp;
42
43class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayActorNode : public vtkActorNode
44{
45public:
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
55
61 {
62 ALL_EXACT = -1,
65 EACH_EXACT
66 };
67
77
79
82 static void SetEnableScaling(int value, vtkActor*);
85
94
98 static void SetScaleArrayName(const char* scaleArrayName, vtkActor*);
99
105
109 static void SetScaleFunction(vtkPiecewiseFunction* scaleFunction, vtkActor*);
110
115
117
120 static void SetLuminosity(double value, vtkProperty*);
121 static double GetLuminosity(vtkProperty*);
123
124protected:
127
128private:
129 vtkOSPRayActorNode(const vtkOSPRayActorNode&) = delete;
130 void operator=(const vtkOSPRayActorNode&) = delete;
131
132 vtkWeakPointer<vtkMapper> LastMapper;
133 vtkTimeStamp MapperChangedTime;
134};
135#endif
vtkViewNode specialized for vtkActors
Definition: vtkActorNode.h:31
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
Rendering attributes for a multi-block dataset.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
a simple class to control print indentation
Definition: vtkIndent.h:113
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:171
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
Definition: vtkPolyData.h:195
represent surface properties of a geometric object
Definition: vtkProperty.h:171
record modification and/or execution time
Definition: vtkTimeStamp.h:52
a weak reference to a vtkObject.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287