VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Rendering
Volume
vtkUnstructuredGridLinearRayIntegrator.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkUnstructuredGridLinearRayIntegrator.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
=========================================================================*/
15
16
/*
17
* Copyright 2004 Sandia Corporation.
18
* Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
19
* license for use of this work by or on behalf of the
20
* U.S. Government. Redistribution and use in source and binary forms, with
21
* or without modification, are permitted provided that this Notice and any
22
* statement of authorship are reproduced on all copies.
23
*/
24
45
#ifndef __vtkUnstructuredGridLinearRayIntegrator_h
46
#define __vtkUnstructuredGridLinearRayIntegrator_h
47
48
#include "vtkRenderingVolumeModule.h"
// For export macro
49
#include "
vtkUnstructuredGridVolumeRayIntegrator.h
"
50
51
class
vtkLinearRayIntegratorTransferFunction;
52
class
vtkVolumeProperty
;
53
54
class
VTKRENDERINGVOLUME_EXPORT
vtkUnstructuredGridLinearRayIntegrator
:
public
vtkUnstructuredGridVolumeRayIntegrator
55
{
56
public
:
57
vtkTypeMacro(
vtkUnstructuredGridLinearRayIntegrator
,
58
vtkUnstructuredGridVolumeRayIntegrator
);
59
static
vtkUnstructuredGridLinearRayIntegrator
*
New
();
60
virtual
void
PrintSelf
(ostream &os,
vtkIndent
indent);
61
62
virtual
void
Initialize
(
vtkVolume
*volume,
vtkDataArray
*scalars);
63
64
virtual
void
Integrate
(
vtkDoubleArray
*intersectionLengths,
65
vtkDataArray
*nearIntersections,
66
vtkDataArray
*farIntersections,
67
float
color
[4]);
68
70
72
static
void
IntegrateRay(
double
length
,
73
double
intensity_front,
double
attenuation_front,
74
double
intensity_back,
double
attenuation_back,
75
float
color
[4]);
76
static
void
IntegrateRay(
double
length
,
77
const
double
color_front[3],
78
double
attenuation_front,
79
const
double
color_back[3],
80
double
attenuation_back,
81
float
color
[4]);
83
85
87
static
float
Psi(
float
length
,
88
float
attenuation_front,
float
attenuation_back);
90
91
protected
:
92
vtkUnstructuredGridLinearRayIntegrator
();
93
~
vtkUnstructuredGridLinearRayIntegrator
();
94
95
vtkVolumeProperty
*
Property
;
96
97
vtkLinearRayIntegratorTransferFunction *
TransferFunctions
;
98
vtkTimeStamp
TransferFunctionsModified
;
99
int
NumIndependentComponents
;
100
101
private
:
102
vtkUnstructuredGridLinearRayIntegrator
(
const
vtkUnstructuredGridLinearRayIntegrator
&);
// Not implemented.
103
void
operator=(
const
vtkUnstructuredGridLinearRayIntegrator
&);
// Not implemented.
104
};
105
106
#endif //__vtkUnstructuredGridLinearRayIntegrator_h
Generated on Thu May 24 2012 22:22:37 for VTK by
1.8.1