28 #ifndef vtkHierarchicalFractal_h 29 #define vtkHierarchicalFractal_h 31 #include "vtkCompositeDataSetAlgorithm.h" 32 #include "vtkPVVTKExtensionsDefaultModule.h" 33 #include "vtkSmartPointer.h" 37 class vtkRectilinearGrid;
39 class vtkHierarchicalBoxDataSet;
40 class HierarchicalFractalOutputUtil;
48 void PrintSelf(ostream& os, vtkIndent indent);
56 vtkSetMacro(FractalValue,
float);
57 vtkGetMacro(FractalValue,
float);
66 vtkSetMacro(MaximumLevel,
int);
67 vtkGetMacro(MaximumLevel,
int);
74 vtkSetMacro(Dimensions,
int);
75 vtkGetMacro(Dimensions,
int);
82 vtkSetMacro(GhostLevels,
int);
83 vtkGetMacro(GhostLevels,
int);
84 vtkBooleanMacro(GhostLevels,
int);
91 vtkSetMacro(TimeStep,
int);
92 vtkGetMacro(TimeStep,
int);
93 vtkGetVector2Macro(TimeStepRange,
int);
101 vtkSetMacro(GenerateRectilinearGrids,
int);
102 vtkGetMacro(GenerateRectilinearGrids,
int);
103 vtkBooleanMacro(GenerateRectilinearGrids,
int);
110 vtkSetMacro(TwoDimensional,
int);
111 vtkGetMacro(TwoDimensional,
int);
112 vtkBooleanMacro(TwoDimensional,
int);
120 vtkSetMacro(Asymetric,
int);
121 vtkGetMacro(Asymetric,
int);
129 vtkSetMacro(Overlap,
int);
130 vtkGetMacro(Overlap,
int);
141 int TimeStepRange[2];
145 virtual int RequestDataObject(
146 vtkInformation* req, vtkInformationVector** inV, vtkInformationVector* outV);
152 virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
153 vtkInformationVector* outputVector);
159 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
160 vtkInformationVector* outputVector);
162 void Traverse(
int& blockId,
int level, vtkCompositeDataSet* output,
int x0,
int x1,
int y0,
163 int y1,
int z0,
int z1,
int onFace[6]);
165 int LineTest2(
float x0,
float y0,
float z0,
float x1,
float y1,
float z1,
double bds[6]);
166 int LineTest(
float x0,
float y0,
float z0,
float x1,
float y1,
float z1,
double bds[6],
int level,
169 void SetBlockInfo(vtkUniformGrid* grid,
int level,
int* ext,
int onFace[6]);
170 void SetRBlockInfo(vtkRectilinearGrid* grid,
int level,
int* ext,
int onFace[6]);
172 void AddVectorArray(vtkCompositeDataSet* output);
173 void AddTestArray(vtkCompositeDataSet* output);
174 void AddFractalArray(vtkCompositeDataSet* output);
175 void AddBlockIdArray(vtkCompositeDataSet* output);
176 void AddDepthArray(vtkHierarchicalBoxDataSet* output);
178 void AddGhostLevelArray(vtkDataSet* grid,
int dim[3],
int onFace[6]);
180 int MandelbrotTest(
double x,
double y);
181 int TwoDTest(
double bds[6],
int level,
int target);
183 void CellExtentToBounds(
int level,
int ext[6],
double bds[6]);
185 void ExecuteRectilinearMandelbrot(vtkRectilinearGrid* grid,
double* ptr);
186 double EvaluateSet(
double p[4]);
187 void GetContinuousIncrements(
int extent[6], vtkIdType& incX, vtkIdType& incY, vtkIdType& incZ);
192 vtkSetVector3Macro(TopLevelSpacing,
double);
193 vtkGetVector3Macro(TopLevelSpacing,
double);
194 vtkSetVector3Macro(TopLevelOrigin,
double);
195 vtkGetVector3Macro(TopLevelOrigin,
double);
209 double TopLevelSpacing[3];
210 double TopLevelOrigin[3];
214 vtkSmartPointer<HierarchicalFractalOutputUtil>
int GenerateRectilinearGrids
vtkSmartPointer< HierarchicalFractalOutputUtil > OutputUtil
A source to test AMR data object.