30 #ifndef __vtkTemporalFractal_h
31 #define __vtkTemporalFractal_h
33 #include "vtkFiltersHybridModule.h"
34 #include "vtkAlgorithm.h"
35 #include "vtkSmartPointer.h"
37 class vtkCompositeDataSet;
39 class vtkHierarchicalBoxDataSet;
41 class vtkRectilinearGrid;
43 class TemporalFractalOutputUtil;
50 void PrintSelf(ostream& os, vtkIndent indent);
55 vtkSetMacro(FractalValue,
float);
56 vtkGetMacro(FractalValue,
float);
63 vtkSetMacro(MaximumLevel,
int);
64 vtkGetMacro(MaximumLevel,
int);
69 vtkSetMacro(Dimensions,
int);
70 vtkGetMacro(Dimensions,
int);
75 vtkSetMacro(GhostLevels,
int);
76 vtkGetMacro(GhostLevels,
int);
77 vtkBooleanMacro(GhostLevels,
int);
83 vtkSetMacro(GenerateRectilinearGrids,
int);
84 vtkGetMacro(GenerateRectilinearGrids,
int);
85 vtkBooleanMacro(GenerateRectilinearGrids,
int);
91 vtkSetMacro(DiscreteTimeSteps,
int);
92 vtkGetMacro(DiscreteTimeSteps,
int);
93 vtkBooleanMacro(DiscreteTimeSteps,
int);
98 vtkSetMacro(TwoDimensional,
int);
99 vtkGetMacro(TwoDimensional,
int);
100 vtkBooleanMacro(TwoDimensional,
int);
106 vtkSetMacro(Asymetric,
int);
107 vtkGetMacro(Asymetric,
int);
112 vtkSetMacro(AdaptiveSubdivision,
int);
113 vtkGetMacro(AdaptiveSubdivision,
int);
114 vtkBooleanMacro(AdaptiveSubdivision,
int);
122 virtual int FillOutputPortInformation(
int vtkNotUsed(port), vtkInformation* info);
130 virtual int ProcessRequest(vtkInformation* request,
131 vtkInformationVector** inputVector,
132 vtkInformationVector* outputVector);
138 virtual int RequestDataObject(vtkInformation*,
139 vtkInformationVector**,
140 vtkInformationVector*);
146 virtual int RequestInformation(vtkInformation *request,
147 vtkInformationVector **inputVector,
148 vtkInformationVector *outputVector);
154 virtual int RequestData(vtkInformation *request,
155 vtkInformationVector **inputVector,
156 vtkInformationVector *outputVector);
157 virtual int RequestOneTimeStep(vtkCompositeDataSet *output,
158 vtkInformation *request,
159 vtkInformationVector **inputVector,
160 vtkInformationVector *outputVector);
163 void Traverse(
int &blockId,
int level, vtkDataObject* output,
164 int x0,
int x1,
int y0,
int y1,
int z0,
int z1,
167 int LineTest2(
float x0,
float y0,
float z0,
168 float x1,
float y1,
float z1,
170 int LineTest(
float x0,
float y0,
float z0,
171 float x1,
float y1,
float z1,
172 double bds[6],
int level,
int target);
174 void SetBlockInfo(vtkUniformGrid *grid,
int level,
int* ext,
int onFace[6]);
175 void SetRBlockInfo(vtkRectilinearGrid *grid,
int level,
int* ext,
178 void AddVectorArray(vtkHierarchicalBoxDataSet *output);
179 void AddTestArray(vtkHierarchicalBoxDataSet *output);
180 void AddFractalArray(vtkCompositeDataSet* output);
181 void AddBlockIdArray(vtkHierarchicalBoxDataSet *output);
182 void AddDepthArray(vtkHierarchicalBoxDataSet *output);
184 void AddGhostLevelArray(vtkDataSet *grid,
188 int MandelbrotTest(
double x,
double y);
189 int TwoDTest(
double bds[6],
int level,
int target);
191 void CellExtentToBounds(
int level,
195 void ExecuteRectilinearMandelbrot(vtkRectilinearGrid *grid,
197 double EvaluateSet(
double p[4]);
198 void GetContinuousIncrements(
int extent[6],
206 vtkSetVector3Macro(TopLevelSpacing,
double);
207 vtkGetVector3Macro(TopLevelSpacing,
double);
208 vtkSetVector3Macro(TopLevelOrigin,
double);
209 vtkGetVector3Macro(TopLevelOrigin,
double);
223 double TopLevelSpacing[3];
224 double TopLevelOrigin[3];
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
int GenerateRectilinearGrids
vtkSmartPointer< TemporalFractalOutputUtil > OutputUtil
A source to test AMR data object.