VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
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
parallel streamline generators
void PrintSelf(ostream &os, vtkIndent indent)
vtkMultiProcessController * Controller
Store vtkAlgorithm input/output information.
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
abstract class to specify dataset behavior
Definition: vtkDataSet.h:60
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
#define VTKFILTERSPARALLELFLOWPATHS_EXPORT
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
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkAbstractInterpolatedVelocityField * Interpolator
GLsizei const GLchar ** path
Definition: vtkgl.h:13835
GLenum func
Definition: vtkgl.h:11980
Streamline generator.
hierarchical dataset of vtkUniformGrids
Store zero or more vtkInformation instances.
Multiprocessing communication superclass.