00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkDistributedStreamTracer_h
00031 #define __vtkDistributedStreamTracer_h
00032
00033 #include "vtkPStreamTracer.h"
00034
00035 class VTK_PARALLEL_EXPORT vtkDistributedStreamTracer : public vtkPStreamTracer
00036 {
00037 public:
00038 vtkTypeRevisionMacro(vtkDistributedStreamTracer,vtkPStreamTracer);
00039 void PrintSelf(ostream& os, vtkIndent indent);
00040
00041 static vtkDistributedStreamTracer *New();
00042
00043 protected:
00044
00045 vtkDistributedStreamTracer();
00046 ~vtkDistributedStreamTracer();
00047
00048 void ForwardTask(double seed[3],
00049 int direction,
00050 int isNewSeed,
00051 int lastid,
00052 int lastCellId,
00053 int currentLine,
00054 double* firstNormal);
00055 int ProcessTask(double seed[3],
00056 int direction,
00057 int isNewSeed,
00058 int lastid,
00059 int lastCellId,
00060 int currentLine,
00061 double* firstNormal,
00062 vtkInformationVector **inputVector);
00063 int ProcessNextLine(int currentLine, vtkInformationVector **inputVector);
00064 int ReceiveAndProcessTask(vtkInformationVector **inputVector);
00065
00066 virtual void ParallelIntegrate(vtkInformationVector **inputVector);
00067
00068 private:
00069 vtkDistributedStreamTracer(const vtkDistributedStreamTracer&);
00070 void operator=(const vtkDistributedStreamTracer&);
00071 };
00072
00073
00074 #endif
00075
00076