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 "vtkFiltersParallelFlowPathsModule.h" // For export macro
43 
44 class VTKFILTERSPARALLELFLOWPATHS_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 
67 
69 
71  void SetInterpolator(vtkAbstractInterpolatedVelocityField*);
72 
73  int EmptyData;
74 private:
75  vtkPStreamTracer(const vtkPStreamTracer&); // Not implemented.
76  void operator=(const vtkPStreamTracer&); // Not implemented.
77 
78  void Trace( vtkDataSet *input,
79  int vecType,
80  const char* vecName,
81  PStreamTracerPoint* pt,
84  int maxCellSize);
85 
86  bool TraceOneStep(vtkPolyData* traceOut, vtkAbstractInterpolatedVelocityField*, PStreamTracerPoint* pt);
87 
88  void Prepend(vtkPolyData* path, vtkPolyData* headh);
89  int Rank;
90  int NumProcs;
91 
92  friend class AbstractPStreamTracerUtils;
94 };
95 #endif
parallel streamline generators
void PrintSelf(ostream &os, vtkIndent indent)
vtkMultiProcessController * Controller
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
An abstract class for obtaining the interpolated velocity values at a point.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:83
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkStreamTracer * New()
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkAbstractInterpolatedVelocityField * Interpolator
Streamline generator.
hierarchical dataset of vtkUniformGrids
Store zero or more vtkInformation instances.
Multiprocessing communication superclass.