VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Parallel
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
=========================================================================*/
26
#ifndef __vtkPStreamTracer_h
27
#define __vtkPStreamTracer_h
28
29
#include "
vtkStreamTracer.h
"
30
31
#include "
vtkSmartPointer.h
"
// This is a leaf node. No need to use PIMPL to avoid compile time penalty.
32
#include <vtkstd/vector>
// STL Header; Required for vector
33
34
class
vtkAbstractInterpolatedVelocityField
;
35
class
vtkMultiProcessController
;
36
37
class
VTK_PARALLEL_EXPORT
vtkPStreamTracer
:
public
vtkStreamTracer
38
{
39
public
:
40
vtkTypeMacro(
vtkPStreamTracer
,
vtkStreamTracer
);
41
virtual
void
PrintSelf
(ostream& os,
vtkIndent
indent);
42
44
47
virtual
void
SetController(
vtkMultiProcessController
* controller);
48
vtkGetObjectMacro(Controller,
vtkMultiProcessController
);
50
51
protected
:
52
53
vtkPStreamTracer
();
54
~
vtkPStreamTracer
();
55
56
virtual
int
RequestData
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
57
virtual
int
RequestInformation
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
58
virtual
int
RequestUpdateExtent
(
vtkInformation
*,
vtkInformationVector
**,
vtkInformationVector
*);
59
60
vtkMultiProcessController
*
Controller
;
61
62
vtkAbstractInterpolatedVelocityField
*
Interpolator
;
63
void
SetInterpolator(
vtkAbstractInterpolatedVelocityField
*);
64
65
// See the implementation for comments
66
void
SendCellPoint(
vtkPolyData
*
data
,
67
vtkIdType
streamId,
68
vtkIdType
idx,
69
int
sendToId);
70
void
ReceiveCellPoint(
vtkPolyData
* tomod,
int
streamId,
vtkIdType
idx);
71
void
SendFirstPoints(
vtkPolyData
*output);
72
void
ReceiveLastPoints(
vtkPolyData
*output);
73
void
MoveToNextSend(
vtkPolyData
*output);
74
75
virtual
void
ParallelIntegrate() = 0;
76
77
vtkDataArray
*
Seeds
;
78
vtkIdList
*
SeedIds
;
79
vtkIntArray
*
IntegrationDirections
;
80
81
int
EmptyData
;
82
83
//BTX
84
typedef
vtkstd::vector< vtkSmartPointer<vtkPolyData> >
TmpOutputsType
;
85
//ETX
86
87
TmpOutputsType
TmpOutputs
;
88
89
private
:
90
vtkPStreamTracer
(
const
vtkPStreamTracer
&);
// Not implemented.
91
void
operator=(
const
vtkPStreamTracer
&);
// Not implemented.
92
};
93
94
95
#endif
96
97
Generated on Wed Nov 21 2012 21:34:00 for VTK by
1.8.2