VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
VolumeRendering
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 "
vtkUnstructuredGridVolumeRayIntegrator.h
"
49
50
class
vtkLinearRayIntegratorTransferFunction;
51
class
vtkVolumeProperty
;
52
53
class
VTK_VOLUMERENDERING_EXPORT
vtkUnstructuredGridLinearRayIntegrator
:
public
vtkUnstructuredGridVolumeRayIntegrator
54
{
55
public
:
56
vtkTypeMacro(
vtkUnstructuredGridLinearRayIntegrator
,
57
vtkUnstructuredGridVolumeRayIntegrator
);
58
static
vtkUnstructuredGridLinearRayIntegrator
*
New
();
59
virtual
void
PrintSelf
(ostream &os,
vtkIndent
indent);
60
61
virtual
void
Initialize
(
vtkVolume
*volume,
vtkDataArray
*scalars);
62
63
virtual
void
Integrate
(
vtkDoubleArray
*intersectionLengths,
64
vtkDataArray
*nearIntersections,
65
vtkDataArray
*farIntersections,
66
float
color
[4]);
67
69
71
static
void
IntegrateRay(
double
length
,
72
double
intensity_front,
double
attenuation_front,
73
double
intensity_back,
double
attenuation_back,
74
float
color
[4]);
75
static
void
IntegrateRay(
double
length
,
76
const
double
color_front[3],
77
double
attenuation_front,
78
const
double
color_back[3],
79
double
attenuation_back,
80
float
color
[4]);
82
84
86
static
float
Psi(
float
length
,
87
float
attenuation_front,
float
attenuation_back);
89
90
protected
:
91
vtkUnstructuredGridLinearRayIntegrator
();
92
~
vtkUnstructuredGridLinearRayIntegrator
();
93
94
vtkVolumeProperty
*
Property
;
95
96
vtkLinearRayIntegratorTransferFunction *
TransferFunctions
;
97
vtkTimeStamp
TransferFunctionsModified
;
98
int
NumIndependentComponents
;
99
100
private
:
101
vtkUnstructuredGridLinearRayIntegrator
(
const
vtkUnstructuredGridLinearRayIntegrator
&);
// Not implemented.
102
void
operator=(
const
vtkUnstructuredGridLinearRayIntegrator
&);
// Not implemented.
103
};
104
105
#endif //__vtkUnstructuredGridLinearRayIntegrator_h
Generated on Wed Nov 21 2012 21:34:07 for VTK by
1.8.2