VTK
dox
Rendering
OSPRay
vtkOSPRayLightNode.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkOSPRayLightNode.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 vtkOSPRayLightNode_h
26
#define vtkOSPRayLightNode_h
27
28
#include "vtkRenderingOSPRayModule.h"
// For export macro
29
#include "
vtkLightNode.h
"
30
31
#include "ospray/ospray.h"
// for ospray handle types
32
33
#include <string>
// for std::string
34
35
class
vtkInformationDoubleKey
;
36
class
vtkInformationIntegerKey
;
37
class
vtkLight
;
38
class
vtkOSPRayRendererNode
;
39
40
class
VTKRENDERINGOSPRAY_EXPORT
vtkOSPRayLightNode
:
41
public
vtkLightNode
42
{
43
public
:
44
static
vtkOSPRayLightNode
*
New
();
45
vtkTypeMacro(
vtkOSPRayLightNode
,
vtkLightNode
);
46
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
47
51
virtual
void
Render
(
bool
prepass)
override
;
52
54
58
static
void
SetLightScale(
double
s);
59
static
double
GetLightScale();
61
62
//state beyond rendering core...
63
69
static
vtkInformationIntegerKey
* IS_AMBIENT();
70
72
75
static
void
SetIsAmbient(
int
,
vtkLight
*);
76
static
int
GetIsAmbient(
vtkLight
*);
78
83
static
vtkInformationDoubleKey
* RADIUS();
84
86
89
static
void
SetRadius(
double
,
vtkLight
*);
90
static
double
GetRadius(
vtkLight
*);
92
96
static
OSPLight NewLight(
vtkOSPRayRendererNode
*orn,
97
OSPRenderer oRenderer,
98
const
std::string
& lightType);
99
100
protected
:
101
vtkOSPRayLightNode
();
102
~
vtkOSPRayLightNode
();
103
104
private
:
105
vtkOSPRayLightNode
(
const
vtkOSPRayLightNode
&) =
delete
;
106
void
operator=(
const
vtkOSPRayLightNode
&) =
delete
;
107
108
static
double
LightScale;
109
void
*OLight;
110
};
111
112
#endif
vtkOSPRayRendererNode
links vtkRenderers to OSPRay
Definition:
vtkOSPRayRendererNode.h:44
vtkOSPRayLightNode
links vtkLights to OSPRay
Definition:
vtkOSPRayLightNode.h:40
vtkLight
a virtual light for 3D rendering
Definition:
vtkLight.h:62
vtkLightNode
vtkViewNode specialized for vtkLights
Definition:
vtkLightNode.h:31
vtkLightNode::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:34
vtkLightNode.h
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition:
vtkInformationIntegerKey.h:34
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkViewNode::Render
virtual void Render(bool)
Makes calls to make self visible.
Definition:
vtkViewNode.h:67
vtkX3D::string
Definition:
vtkX3D.h:490
vtkLightNode::New
static vtkLightNode * New()
Generated by
1.8.16