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 vtkTypeMacro(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 double propagation,
00056 vtkIdType numSteps);
00057 int ProcessTask(double seed[3],
00058 int direction,
00059 int isNewSeed,
00060 int lastid,
00061 int lastCellId,
00062 int currentLine,
00063 double* firstNormal,
00064 double propagation,
00065 vtkIdType numSteps);
00066 int ProcessNextLine(int currentLine);
00067 int ReceiveAndProcessTask();
00068
00069 virtual void ParallelIntegrate();
00070
00071 private:
00072 vtkDistributedStreamTracer(const vtkDistributedStreamTracer&);
00073 void operator=(const vtkDistributedStreamTracer&);
00074 };
00075
00076
00077 #endif
00078
00079