00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00040 #ifndef __vtkOrderedCompositeDistributor_h
00041 #define __vtkOrderedCompositeDistributor_h
00042
00043 #include "vtkPointSetAlgorithm.h"
00044
00045 class vtkDataSetSurfaceFilter;
00046 class vtkDistributedDataFilter;
00047 class vtkMultiProcessController;
00048 class vtkPKdTree;
00049
00050 class VTK_EXPORT vtkOrderedCompositeDistributor : public vtkPointSetAlgorithm
00051 {
00052 public:
00053 vtkTypeRevisionMacro(vtkOrderedCompositeDistributor, vtkPointSetAlgorithm);
00054 static vtkOrderedCompositeDistributor *New();
00055 virtual void PrintSelf(ostream &os, vtkIndent indent);
00056
00058
00059 virtual void SetPKdTree(vtkPKdTree *);
00060 vtkGetObjectMacro(PKdTree, vtkPKdTree);
00062
00064
00065 virtual void SetController(vtkMultiProcessController *);
00066 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00068
00070
00071 vtkSetMacro(PassThrough, int);
00072 vtkGetMacro(PassThrough, int);
00073 vtkBooleanMacro(PassThrough, int);
00075
00077
00078 vtkSetStringMacro(OutputType);
00079 vtkGetStringMacro(OutputType);
00081
00083
00084 vtkGetObjectMacro(D3, vtkDistributedDataFilter);
00085 virtual void SetD3(vtkDistributedDataFilter *);
00086 vtkGetObjectMacro(ToPolyData, vtkDataSetSurfaceFilter);
00087 virtual void SetToPolyData(vtkDataSetSurfaceFilter *);
00089
00090 protected:
00091 vtkOrderedCompositeDistributor();
00092 ~vtkOrderedCompositeDistributor();
00093
00094 vtkPKdTree *PKdTree;
00095 vtkMultiProcessController *Controller;
00096
00097 vtkDistributedDataFilter *D3;
00098 vtkDataSetSurfaceFilter *ToPolyData;
00099
00100 int PassThrough;
00101
00102 int FillInputPortInformation(int port, vtkInformation *info);
00103
00104 int RequestDataObject(vtkInformation *,
00105 vtkInformationVector **, vtkInformationVector *);
00106 int RequestData(vtkInformation *,
00107 vtkInformationVector **, vtkInformationVector *);
00108
00109 virtual void ReportReferences(vtkGarbageCollector *collector);
00110
00111 char *OutputType;
00112
00113 private:
00114 vtkOrderedCompositeDistributor(const vtkOrderedCompositeDistributor &);
00115 void operator=(const vtkOrderedCompositeDistributor &);
00116 };
00117
00118 #endif //__vtkOrderedCompositeDistributor_h