VTK
vtkTemporalFractal.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ParaView
4 Module: vtkTemporalFractal.h
5
6 Copyright (c) Kitware, Inc.
7 All rights reserved.
8 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
31#ifndef vtkTemporalFractal_h
32#define vtkTemporalFractal_h
33
34#include "vtkFiltersHybridModule.h" // For export macro
35#include "vtkAlgorithm.h"
36#include "vtkSmartPointer.h" //for ivars
37
39class vtkDataSet;
41class vtkIntArray;
43class vtkUniformGrid;
44class TemporalFractalOutputUtil;
45
46class VTKFILTERSHYBRID_EXPORT vtkTemporalFractal: public vtkAlgorithm
47{
48public:
51 void PrintSelf(ostream& os, vtkIndent indent);
52
54
59 vtkSetMacro(FractalValue, float);
60 vtkGetMacro(FractalValue, float);
62
64
69 vtkSetMacro(MaximumLevel, int);
70 vtkGetMacro(MaximumLevel, int);
72
74
77 vtkSetMacro(Dimensions, int);
78 vtkGetMacro(Dimensions, int);
80
82
85 vtkSetMacro(GhostLevels, int);
86 vtkGetMacro(GhostLevels, int);
87 vtkBooleanMacro(GhostLevels, int);
89
91
95 vtkSetMacro(GenerateRectilinearGrids, int);
96 vtkGetMacro(GenerateRectilinearGrids, int);
97 vtkBooleanMacro(GenerateRectilinearGrids, int);
99
101
105 vtkSetMacro(DiscreteTimeSteps, int);
106 vtkGetMacro(DiscreteTimeSteps, int);
107 vtkBooleanMacro(DiscreteTimeSteps, int);
109
111
114 vtkSetMacro(TwoDimensional, int);
115 vtkGetMacro(TwoDimensional, int);
116 vtkBooleanMacro(TwoDimensional, int);
118
120
124 vtkSetMacro(Asymetric,int);
125 vtkGetMacro(Asymetric,int);
127
129
132 vtkSetMacro(AdaptiveSubdivision, int);
133 vtkGetMacro(AdaptiveSubdivision, int);
134 vtkBooleanMacro(AdaptiveSubdivision, int);
136
137
138protected:
141
142 virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
143
147
151 virtual int ProcessRequest(vtkInformation* request,
152 vtkInformationVector** inputVector,
153 vtkInformationVector* outputVector);
154
162
167 virtual int RequestInformation(vtkInformation *request,
168 vtkInformationVector **inputVector,
169 vtkInformationVector *outputVector);
170
172
176 virtual int RequestData(vtkInformation *request,
177 vtkInformationVector **inputVector,
178 vtkInformationVector *outputVector);
180 vtkInformation *request,
181 vtkInformationVector **inputVector,
182 vtkInformationVector *outputVector);
184
185 void Traverse(int &blockId, int level, vtkDataObject* output,
186 int x0,int x1, int y0,int y1, int z0,int z1,
187 int onFace[6]);
188
189 int LineTest2(float x0, float y0, float z0,
190 float x1, float y1, float z1,
191 double bds[6]);
192 int LineTest(float x0, float y0, float z0,
193 float x1, float y1, float z1,
194 double bds[6], int level, int target);
195
196 void SetBlockInfo(vtkUniformGrid *grid, int level, int* ext,int onFace[6]);
197 void SetRBlockInfo(vtkRectilinearGrid *grid, int level, int* ext,
198 int onFace[6]);
199
205
207 int dim[3],
208 int onFace[6]);
209
210 int MandelbrotTest(double x, double y);
211 int TwoDTest(double bds[6], int level, int target);
212
214 int ext[6],
215 double bds[6]);
216
218 double *ptr);
219 double EvaluateSet(double p[4]);
221 vtkIdType &incX,
222 vtkIdType &incY,
223 vtkIdType &incZ);
224
225 // Dimensions:
226 // Specify blocks relative to this top level block.
227 // For now this has to be set before the blocks are defined.
228 vtkSetVector3Macro(TopLevelSpacing, double);
229 vtkGetVector3Macro(TopLevelSpacing, double);
230 vtkSetVector3Macro(TopLevelOrigin, double);
231 vtkGetVector3Macro(TopLevelOrigin, double);
232
234
243
244 // New method of specifing blocks.
245 double TopLevelSpacing[3];
246 double TopLevelOrigin[3];
247
249
251
254
255private:
256 vtkTemporalFractal(const vtkTemporalFractal&) VTK_DELETE_FUNCTION;
257 void operator=(const vtkTemporalFractal&) VTK_DELETE_FUNCTION;
258};
259
260
261#endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:60
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
Definition: vtkDataObject.h:65
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
Backwards compatibility class.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:46
a dataset that is topologically regular with variable spacing in the three coordinate directions
A source to test AMR data object.
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
see vtkAlgorithm for details
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void AddVectorArray(vtkHierarchicalBoxDataSet *output)
void SetBlockInfo(vtkUniformGrid *grid, int level, int *ext, int onFace[6])
vtkSmartPointer< TemporalFractalOutputUtil > OutputUtil
void AddGhostLevelArray(vtkDataSet *grid, int dim[3], int onFace[6])
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void AddTestArray(vtkHierarchicalBoxDataSet *output)
void AddBlockIdArray(vtkHierarchicalBoxDataSet *output)
void AddDepthArray(vtkHierarchicalBoxDataSet *output)
virtual int RequestOneTimeStep(vtkCompositeDataSet *output, vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int LineTest2(float x0, float y0, float z0, float x1, float y1, float z1, double bds[6])
void Traverse(int &blockId, int level, vtkDataObject *output, int x0, int x1, int y0, int y1, int z0, int z1, int onFace[6])
virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation *info)
void CellExtentToBounds(int level, int ext[6], double bds[6])
void GetContinuousIncrements(int extent[6], vtkIdType &incX, vtkIdType &incY, vtkIdType &incZ)
int LineTest(float x0, float y0, float z0, float x1, float y1, float z1, double bds[6], int level, int target)
static vtkTemporalFractal * New()
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
int MandelbrotTest(double x, double y)
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
double EvaluateSet(double p[4])
void SetRBlockInfo(vtkRectilinearGrid *grid, int level, int *ext, int onFace[6])
int TwoDTest(double bds[6], int level, int target)
void ExecuteRectilinearMandelbrot(vtkRectilinearGrid *grid, double *ptr)
void AddFractalArray(vtkCompositeDataSet *output)
void InternalImageDataCopy(vtkTemporalFractal *src)
image data with blanking
@ info
Definition: vtkX3D.h:376
@ level
Definition: vtkX3D.h:395
@ port
Definition: vtkX3D.h:447
@ extent
Definition: vtkX3D.h:345
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287