VTK  9.0.3
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 
30 class vtkActor;
32 class vtkDataArray;
37 class vtkMapper;
39 class vtkPolyData;
40 class vtkProperty;
41 class vtkTimeStamp;
42 
43 class VTKRENDERINGRAYTRACING_EXPORT vtkOSPRayActorNode : public vtkActorNode
44 {
45 public:
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
54  virtual vtkMTimeType GetMTime() override;
55 
60 
62 
65  static void SetEnableScaling(int value, vtkActor*);
66  static int GetEnableScaling(vtkActor*);
68 
77 
81  static void SetScaleArrayName(const char* scaleArrayName, vtkActor*);
82 
88 
92  static void SetScaleFunction(vtkPiecewiseFunction* scaleFunction, vtkActor*);
93 
98 
100 
103  static void SetLuminosity(double value, vtkProperty*);
104  static double GetLuminosity(vtkProperty*);
106 
107 protected:
110 
111 private:
112  vtkOSPRayActorNode(const vtkOSPRayActorNode&) = delete;
113  void operator=(const vtkOSPRayActorNode&) = delete;
114 
115  vtkWeakPointer<vtkMapper> LastMapper;
116  vtkTimeStamp MapperChangedTime;
117 };
118 #endif
vtkViewNode specialized for vtkActors
Definition: vtkActorNode.h:31
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
Rendering attributes for a multi-block dataset.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
a simple class to control print indentation
Definition: vtkIndent.h:34
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:81
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 enabled scaling on my renderable.
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.
static void SetScaleArrayName(const char *scaleArrayName, vtkActor *)
Convenience method to set a scale array on my renderable.
static int GetEnableScaling(vtkActor *)
static void SetLuminosity(double value, vtkProperty *)
Convenience method to set luminosity on my renderable.
virtual vtkMTimeType GetMTime() override
Overridden to take into account my renderables time, including mapper and data into mapper inclusive ...
static vtkInformationIntegerKey * ENABLE_SCALING()
When added to the mapper, enables scale array and scale function.
static vtkOSPRayActorNode * New()
static double GetLuminosity(vtkProperty *)
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:85
represent surface properties of a geometric object
Definition: vtkProperty.h:62
record modification and/or execution time
Definition: vtkTimeStamp.h:33
@ value
Definition: vtkX3D.h:226
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293