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 =========================================================================*/
27 #ifndef vtkPStreamTracer_h
28 #define vtkPStreamTracer_h
29 
30 #include "vtkStreamTracer.h"
31 #include "vtkSmartPointer.h" // This is a leaf node. No need to use PIMPL to avoid compile time penalty.
32 
35 
36 class PStreamTracerPoint;
37 class vtkOverlappingAMR;
38 class AbstractPStreamTracerUtils;
39 
40 #include "vtkFiltersParallelFlowPathsModule.h" // For export macro
41 
42 class VTKFILTERSPARALLELFLOWPATHS_EXPORT vtkPStreamTracer : public vtkStreamTracer
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
47 
49 
55  virtual void SetController(vtkMultiProcessController* controller);
56  vtkGetObjectMacro(Controller, vtkMultiProcessController);
58 
59  static vtkPStreamTracer * New();
60 
61 protected:
62 
65 
66  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
68 
70 
72  void SetInterpolator(vtkAbstractInterpolatedVelocityField*);
73 
74  int EmptyData;
75 private:
76  vtkPStreamTracer(const vtkPStreamTracer&) VTK_DELETE_FUNCTION;
77  void operator=(const vtkPStreamTracer&) VTK_DELETE_FUNCTION;
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
parallel streamline generators
vtkMultiProcessController * Controller
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
An abstract class for obtaining the interpolated velocity values at a point.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
static vtkStreamTracer * New()
Construct object to start from position (0,0,0), with forward integration, terminal speed 1...
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkAbstractInterpolatedVelocityField * Interpolator
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Streamline generator.
hierarchical dataset of vtkUniformGrids
Store zero or more vtkInformation instances.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Multiprocessing communication superclass.