VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Filters
ParallelTracers
vtkPStreamTracer.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkPStreamTracer.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
=========================================================================*/
29
#ifndef __vtkPStreamTracer_h
30
#define __vtkPStreamTracer_h
31
32
#include "
vtkStreamTracer.h
"
33
#include "
vtkSmartPointer.h
"
// This is a leaf node. No need to use PIMPL to avoid compile time penalty.
34
35
class
vtkAbstractInterpolatedVelocityField
;
36
class
vtkMultiProcessController
;
37
38
class
PStreamTracerPoint;
39
class
vtkOverlappingAMR
;
40
class
AbstractPStreamTracerUtils;
41
42
#include "vtkFiltersParallelTracersModule.h"
// For export macro
43
44
class
VTKFILTERSPARALLELTRACERS_EXPORT
vtkPStreamTracer
:
public
vtkStreamTracer
45
{
46
public
:
47
vtkTypeMacro(
vtkPStreamTracer
,
vtkStreamTracer
);
48
virtual
void
PrintSelf
(ostream& os,
vtkIndent
indent);
49
51
54
virtual
void
SetController(
vtkMultiProcessController
* controller);
55
vtkGetObjectMacro(Controller,
vtkMultiProcessController
);
57
58
static
vtkPStreamTracer
*
New
();
59
60
protected
:
61
62
vtkPStreamTracer
();
63
~
vtkPStreamTracer
();
64
65
virtual
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
66
virtual
int
RequestInformation
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
67
virtual
int
RequestUpdateExtent
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
68
69
vtkMultiProcessController
*
Controller
;
70
71
vtkAbstractInterpolatedVelocityField
*
Interpolator
;
72
void
SetInterpolator(
vtkAbstractInterpolatedVelocityField
*);
73
74
int
EmptyData
;
75
private
:
76
vtkPStreamTracer
(
const
vtkPStreamTracer
&);
// Not implemented.
77
void
operator=(
const
vtkPStreamTracer
&);
// Not implemented.
78
79
void
Trace(
vtkDataSet
*input,
80
int
vecType,
81
const
char
* vecName,
82
PStreamTracerPoint* pt,
83
vtkSmartPointer<vtkPolyData>
& output,
84
vtkAbstractInterpolatedVelocityField
* func,
85
int
maxCellSize);
86
87
bool
TraceOneStep(
vtkPolyData
* traceOut,
vtkAbstractInterpolatedVelocityField
*, PStreamTracerPoint* pt);
88
89
void
Prepend(
vtkPolyData
* path,
vtkPolyData
* headh);
90
int
Rank;
91
int
NumProcs;
92
93
friend
class
AbstractPStreamTracerUtils;
94
vtkSmartPointer<AbstractPStreamTracerUtils>
Utils;
95
};
96
#endif
Generated on Thu May 24 2012 22:22:22 for VTK by
1.8.1