00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkProcessIdScalars_h
00028 #define __vtkProcessIdScalars_h
00029
00030 #include "vtkDataSetAlgorithm.h"
00031
00032 class vtkFloatArray;
00033 class vtkIntArray;
00034 class vtkMultiProcessController;
00035
00036 class VTK_PARALLEL_EXPORT vtkProcessIdScalars : public vtkDataSetAlgorithm
00037 {
00038 public:
00039 static vtkProcessIdScalars *New();
00040
00041 vtkTypeMacro(vtkProcessIdScalars,vtkDataSetAlgorithm);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045
00047 void SetScalarModeToCellData() {this->SetCellScalarsFlag(1);}
00048 void SetScalarModeToPointData() {this->SetCellScalarsFlag(0);}
00049 int GetScalarMode() {return this->CellScalarsFlag;}
00051
00052
00053
00054
00055
00056 vtkSetMacro(RandomMode, int);
00057 vtkGetMacro(RandomMode, int);
00058 vtkBooleanMacro(RandomMode, int);
00059
00061
00063 virtual void SetController(vtkMultiProcessController*);
00064 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00066
00067
00068 protected:
00069 vtkProcessIdScalars();
00070 ~vtkProcessIdScalars();
00071
00072
00073 int RequestData(
00074 vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00075
00076 vtkIntArray *MakeProcessIdScalars(int piece, vtkIdType numScalars);
00077 vtkFloatArray *MakeRandomScalars(int piece, vtkIdType numScalars);
00078
00079 vtkSetMacro(CellScalarsFlag,int);
00080 int CellScalarsFlag;
00081 int RandomMode;
00082
00083 vtkMultiProcessController* Controller;
00084
00085 private:
00086 vtkProcessIdScalars(const vtkProcessIdScalars&);
00087 void operator=(const vtkProcessIdScalars&);
00088 };
00089
00090 #endif