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