VTK
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 =========================================================================*/
25 #ifndef vtkOSPRayActorNode_h
26 #define vtkOSPRayActorNode_h
27 
28 #include "vtkRenderingOSPRayModule.h" // For export macro
29 #include "vtkActorNode.h"
30 #include "vtkTimeStamp.h" //for mapper changed time
31 #include "vtkWeakPointer.h" //also for mapper changed time
32 
33 class vtkActor;
35 class vtkDataArray;
40 class vtkMapper;
42 class vtkPolyData;
43 class vtkProperty;
44 class vtkTimeStamp;
45 
46 
47 class VTKRENDERINGOSPRAY_EXPORT vtkOSPRayActorNode :
48  public vtkActorNode
49 {
50 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
59  virtual vtkMTimeType GetMTime() override;
60 
65 
67 
70  static void SetEnableScaling(int value, vtkActor *);
71  static int GetEnableScaling(vtkActor *);
73 
82 
86  static void SetScaleArrayName(const char *scaleArrayName, vtkActor *);
87 
93 
97  static void SetScaleFunction(vtkPiecewiseFunction *scaleFunction, vtkActor *);
98 
103 
105 
108  static void SetLuminosity(double value, vtkProperty *);
109  static double GetLuminosity(vtkProperty *);
111 
112 protected:
115 
116 private:
117  vtkOSPRayActorNode(const vtkOSPRayActorNode&) = delete;
118  void operator=(const vtkOSPRayActorNode&) = delete;
119 
120  vtkWeakPointer<vtkMapper> LastMapper;
121  vtkTimeStamp MapperChangedTime;
122 };
123 #endif
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:37
vtkTimeStamp.h
vtkOSPRayActorNode::New
static vtkOSPRayActorNode * New()
vtkX3D::value
@ value
Definition: vtkX3D.h:220
vtkOSPRayActorNode::SetLuminosity
static void SetLuminosity(double value, vtkProperty *)
Convenience method to set luminosity on my renderable.
vtkOSPRayActorNode::~vtkOSPRayActorNode
~vtkOSPRayActorNode()
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:36
vtkOSPRayActorNode::SCALE_FUNCTION
static vtkInformationObjectBaseKey * SCALE_FUNCTION()
A piecewise function for values from the scale array that alters the resulting radii arbitrarily.
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkOSPRayActorNode::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInformationDoubleKey
Key for double values in vtkInformation.
Definition: vtkInformationDoubleKey.h:35
vtkOSPRayActorNode::ENABLE_SCALING
static vtkInformationIntegerKey * ENABLE_SCALING()
When added to the mapper, enables scale array and scale function.
vtkOSPRayActorNode::vtkOSPRayActorNode
vtkOSPRayActorNode()
vtkOSPRayActorNode::SetEnableScaling
static void SetEnableScaling(int value, vtkActor *)
Convenience method to set enabled scaling on my renderable.
vtkCompositeDataDisplayAttributes
Rendering attributes for a multi-block dataset.
Definition: vtkCompositeDataDisplayAttributes.h:44
vtkOSPRayActorNode::GetEnableScaling
static int GetEnableScaling(vtkActor *)
vtkOSPRayActorNode::SCALE_ARRAY_NAME
static vtkInformationStringKey * SCALE_ARRAY_NAME()
Name of a point aligned, single component wide, double valued array that, when added to the mapper,...
vtkMapper
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:87
vtkOSPRayActorNode
links vtkActor and vtkMapper to OSPRay
Definition: vtkOSPRayActorNode.h:49
vtkInformationObjectBaseKey
Key for vtkObjectBase values.
Definition: vtkInformationObjectBaseKey.h:37
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:35
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkOSPRayActorNode::LUMINOSITY
static vtkInformationDoubleKey * LUMINOSITY()
Indicates that the actor acts as a light emitting object.
vtkOSPRayActorNode::SetScaleFunction
static void SetScaleFunction(vtkPiecewiseFunction *scaleFunction, vtkActor *)
Convenience method to set a scale function on my renderable.
vtkWeakPointer.h
vtkPiecewiseFunction
Defines a 1D piecewise function.
Definition: vtkPiecewiseFunction.h:52
vtkOSPRayActorNode::SetScaleArrayName
static void SetScaleArrayName(const char *scaleArrayName, vtkActor *)
Convenience method to set a scale array on my renderable.
vtkOSPRayActorNode::GetLuminosity
static double GetLuminosity(vtkProperty *)
vtkActorNode
vtkViewNode specialized for vtkActors
Definition: vtkActorNode.h:35
vtkOSPRayActorNode::GetMTime
virtual vtkMTimeType GetMTime() override
Overridden to take into account my renderables time, including mapper and data into mapper inclusive ...
vtkActorNode.h
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:67
vtkWeakPointer< vtkMapper >
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302