VTK
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 
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:
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 
64 
68 
70 
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,
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;
95 };
96 #endif