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 =========================================================================*/
30 #ifndef vtkPStreamTracer_h
31 #define vtkPStreamTracer_h
32 
33 #include "vtkStreamTracer.h"
34 #include "vtkSmartPointer.h" // This is a leaf node. No need to use PIMPL to avoid compile time penalty.
35 
38 
39 class PStreamTracerPoint;
40 class vtkOverlappingAMR;
41 class AbstractPStreamTracerUtils;
42 
43 #include "vtkFiltersParallelFlowPathsModule.h" // For export macro
44 
45 class VTKFILTERSPARALLELFLOWPATHS_EXPORT vtkPStreamTracer : public vtkStreamTracer
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
52 
58  virtual void SetController(vtkMultiProcessController* controller);
59  vtkGetObjectMacro(Controller, vtkMultiProcessController);
61 
62  static vtkPStreamTracer * New();
63 
64 protected:
65 
68 
71 
73 
75  void SetInterpolator(vtkAbstractInterpolatedVelocityField*);
76 
77  int EmptyData;
78 private:
79  vtkPStreamTracer(const vtkPStreamTracer&) = delete;
80  void operator=(const vtkPStreamTracer&) = delete;
81 
82  void Trace( vtkDataSet *input,
83  int vecType,
84  const char* vecName,
85  PStreamTracerPoint* pt,
88  int maxCellSize);
89 
90  bool TraceOneStep(vtkPolyData* traceOut, vtkAbstractInterpolatedVelocityField*, PStreamTracerPoint* pt);
91 
92  void Prepend(vtkPolyData* path, vtkPolyData* headh);
93  int Rank;
94  int NumProcs;
95 
96  friend class AbstractPStreamTracerUtils;
98 };
99 #endif
parallel streamline generators
vtkMultiProcessController * Controller
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
An abstract class for obtaining the interpolated velocity values at a point.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
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:39
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.