00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkDataObjectGenerator_h
00041 #define __vtkDataObjectGenerator_h
00042
00043 #include "vtkDataObjectAlgorithm.h"
00044
00045 class vtkInternalStructureCache;
00046
00047 class VTK_GRAPHICS_EXPORT vtkDataObjectGenerator
00048 : public vtkDataObjectAlgorithm
00049 {
00050 public:
00051 static vtkDataObjectGenerator *New();
00052 vtkTypeRevisionMacro(vtkDataObjectGenerator,vtkDataObjectAlgorithm);
00053 void PrintSelf(ostream &os, vtkIndent indent);
00054
00056
00057 vtkSetStringMacro(Program);
00058 vtkGetStringMacro(Program);
00060
00061 protected:
00062 vtkDataObjectGenerator();
00063 ~vtkDataObjectGenerator();
00064
00065 virtual int RequestData(vtkInformation *req,
00066 vtkInformationVector **inV,
00067 vtkInformationVector *outV);
00068 virtual int RequestDataObject(vtkInformation *req,
00069 vtkInformationVector **inV,
00070 vtkInformationVector *outV);
00071 virtual int RequestInformation(vtkInformation *req,
00072 vtkInformationVector **inV,
00073 vtkInformationVector *outV);
00074 virtual int RequestUpdateExtent(vtkInformation *req,
00075 vtkInformationVector **inV,
00076 vtkInformationVector *outV);
00077
00078
00079 char *Program;
00080
00081 vtkInternalStructureCache *Structure;
00082
00083
00084 vtkDataObject *
00085 CreateOutputDataObjects(vtkInternalStructureCache *structure);
00086
00087 vtkDataObject *
00088 FillOutputDataObjects(vtkInternalStructureCache *structure,
00089 int level,
00090 int stripe=0);
00091
00092
00093 vtkIdType Rank;
00094 vtkIdType Processors;
00095
00096
00097 void MakeImageData1(vtkDataSet *ds);
00098 void MakeUniformGrid1(vtkDataSet *ds);
00099 void MakeRectilinearGrid1(vtkDataSet *ds);
00100 void MakeStructuredGrid1(vtkDataSet *ds);
00101 void MakePolyData1(vtkDataSet *ds);
00102 void MakeUnstructuredGrid1(vtkDataSet *ds);
00103
00104
00105 double XOffset;
00106 double YOffset;
00107 double ZOffset;
00108
00109
00110 vtkIdType CellIdCounter;
00111 vtkIdType PointIdCounter;
00112
00113
00114 void MakeValues(vtkDataSet *ds);
00115
00116 private:
00117 vtkDataObjectGenerator(const vtkDataObjectGenerator&);
00118 void operator=(const vtkDataObjectGenerator&);
00119 };
00120
00121 #endif