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 =========================================================================*/
30 #ifndef vtkTemporalFractal_h
31 #define vtkTemporalFractal_h
32 
33 #include "vtkFiltersHybridModule.h" // For export macro
34 #include "vtkAlgorithm.h"
35 #include "vtkSmartPointer.h" //for ivars
36 
38 class vtkDataSet;
40 class vtkIntArray;
41 class vtkRectilinearGrid;
42 class vtkUniformGrid;
43 class TemporalFractalOutputUtil;
44 
46 {
47 public:
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53 
55  vtkSetMacro(FractalValue, float);
56  vtkGetMacro(FractalValue, float);
58 
60 
63  vtkSetMacro(MaximumLevel, int);
64  vtkGetMacro(MaximumLevel, int);
66 
68 
69  vtkSetMacro(Dimensions, int);
70  vtkGetMacro(Dimensions, int);
72 
74 
75  vtkSetMacro(GhostLevels, int);
76  vtkGetMacro(GhostLevels, int);
77  vtkBooleanMacro(GhostLevels, int);
79 
81 
83  vtkSetMacro(GenerateRectilinearGrids, int);
84  vtkGetMacro(GenerateRectilinearGrids, int);
85  vtkBooleanMacro(GenerateRectilinearGrids, int);
87 
89 
91  vtkSetMacro(DiscreteTimeSteps, int);
92  vtkGetMacro(DiscreteTimeSteps, int);
93  vtkBooleanMacro(DiscreteTimeSteps, int);
95 
97 
98  vtkSetMacro(TwoDimensional, int);
99  vtkGetMacro(TwoDimensional, int);
100  vtkBooleanMacro(TwoDimensional, int);
102 
104 
106  vtkSetMacro(Asymetric,int);
107  vtkGetMacro(Asymetric,int);
109 
111 
112  vtkSetMacro(AdaptiveSubdivision, int);
113  vtkGetMacro(AdaptiveSubdivision, int);
114  vtkBooleanMacro(AdaptiveSubdivision, int);
116 
117 
118 protected:
121 
123 
125  int EndBlock;
127 
129 
130  virtual int ProcessRequest(vtkInformation* request,
131  vtkInformationVector** inputVector,
132  vtkInformationVector* outputVector);
134 
136 
142 
144 
146  virtual int RequestInformation(vtkInformation *request,
147  vtkInformationVector **inputVector,
148  vtkInformationVector *outputVector);
150 
152 
154  virtual int RequestData(vtkInformation *request,
155  vtkInformationVector **inputVector,
156  vtkInformationVector *outputVector);
158  vtkInformation *request,
159  vtkInformationVector **inputVector,
160  vtkInformationVector *outputVector);
162 
163  void Traverse(int &blockId, int level, vtkDataObject* output,
164  int x0,int x1, int y0,int y1, int z0,int z1,
165  int onFace[6]);
166 
167  int LineTest2(float x0, float y0, float z0,
168  float x1, float y1, float z1,
169  double bds[6]);
170  int LineTest(float x0, float y0, float z0,
171  float x1, float y1, float z1,
172  double bds[6], int level, int target);
173 
174  void SetBlockInfo(vtkUniformGrid *grid, int level, int* ext,int onFace[6]);
175  void SetRBlockInfo(vtkRectilinearGrid *grid, int level, int* ext,
176  int onFace[6]);
177 
183 
185  int dim[3],
186  int onFace[6]);
187 
188  int MandelbrotTest(double x, double y);
189  int TwoDTest(double bds[6], int level, int target);
190 
192  int ext[6],
193  double bds[6]);
194 
196  double *ptr);
197  double EvaluateSet(double p[4]);
199  vtkIdType &incX,
200  vtkIdType &incY,
201  vtkIdType &incZ);
202 
203  // Dimensions:
204  // Specify blocks relative to this top level block.
205  // For now this has to be set before the blocks are defined.
206  vtkSetVector3Macro(TopLevelSpacing, double);
207  vtkGetVector3Macro(TopLevelSpacing, double);
208  vtkSetVector3Macro(TopLevelOrigin, double);
209  vtkGetVector3Macro(TopLevelOrigin, double);
210 
212 
221 
222  // New method of specifing blocks.
223  double TopLevelSpacing[3];
224  double TopLevelOrigin[3];
225 
227 
228  double CurrentTime;
229 
232 
233 private:
234  vtkTemporalFractal(const vtkTemporalFractal&); // Not implemented.
235  void operator=(const vtkTemporalFractal&); // Not implemented.
236 };
237 
238 
239 #endif
vtkTemporalFractal::AddGhostLevelArray
void AddGhostLevelArray(vtkDataSet *grid, int dim[3], int onFace[6])
vtkTemporalFractal::AddBlockIdArray
void AddBlockIdArray(vtkHierarchicalBoxDataSet *output)
vtkTemporalFractal::TwoDTest
int TwoDTest(double bds[6], int level, int target)
vtkTemporalFractal::Levels
vtkIntArray * Levels
Definition: vtkTemporalFractal.h:218
vtkTemporalFractal::BlockCount
int BlockCount
Definition: vtkTemporalFractal.h:126
vtkTemporalFractal::ProcessRequest
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalFractal::FillOutputPortInformation
virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation *info)
vtkTemporalFractal::RequestOneTimeStep
virtual int RequestOneTimeStep(vtkCompositeDataSet *output, vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:62
vtkRectilinearGrid
a dataset that is topologically regular with variable spacing in the three coordinate directions
Definition: vtkRectilinearGrid.h:56
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTemporalFractal::OutputUtil
vtkSmartPointer< TemporalFractalOutputUtil > OutputUtil
Definition: vtkTemporalFractal.h:231
vtkUniformGrid
image data with blanking
Definition: vtkUniformGrid.h:40
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkTemporalFractal::ExecuteRectilinearMandelbrot
void ExecuteRectilinearMandelbrot(vtkRectilinearGrid *grid, double *ptr)
vtkTemporalFractal::SetBlockInfo
void SetBlockInfo(vtkUniformGrid *grid, int level, int *ext, int onFace[6])
vtkSmartPointer< TemporalFractalOutputUtil >
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkTemporalFractal::Asymetric
int Asymetric
Definition: vtkTemporalFractal.h:213
vtkHierarchicalBoxDataSet
Backwards compatibility class.
Definition: vtkHierarchicalBoxDataSet.h:38
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:51
vtkTemporalFractal::CurrentTime
double CurrentTime
Definition: vtkTemporalFractal.h:228
vtkAlgorithm.h
vtkTemporalFractal::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalFractal::AddDepthArray
void AddDepthArray(vtkHierarchicalBoxDataSet *output)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkTemporalFractal::AdaptiveSubdivision
int AdaptiveSubdivision
Definition: vtkTemporalFractal.h:230
vtkNotUsed
#define vtkNotUsed(x)
Definition: vtkSetGet.h:557
VTKFILTERSHYBRID_EXPORT
#define VTKFILTERSHYBRID_EXPORT
Definition: vtkFiltersHybridModule.h:15
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkTemporalFractal::TwoDimensional
int TwoDimensional
Definition: vtkTemporalFractal.h:219
vtkTemporalFractal::MandelbrotTest
int MandelbrotTest(double x, double y)
vtkTemporalFractal::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalFractal::AddFractalArray
void AddFractalArray(vtkCompositeDataSet *output)
vtkgl::src
GLenum src
Definition: vtkgl.h:12525
vtkTemporalFractal::GetContinuousIncrements
void GetContinuousIncrements(int extent[6], vtkIdType &incX, vtkIdType &incY, vtkIdType &incZ)
vtkTemporalFractal::SetRBlockInfo
void SetRBlockInfo(vtkRectilinearGrid *grid, int level, int *ext, int onFace[6])
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:53
vtkTemporalFractal::CellExtentToBounds
void CellExtentToBounds(int level, int ext[6], double bds[6])
vtkTemporalFractal::RequestDataObject
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkSmartPointer.h
vtkTemporalFractal::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkTemporalFractal::New
static vtkTemporalFractal * New()
vtkgl::level
GLint level
Definition: vtkgl.h:11316
vtkTemporalFractal::EndBlock
int EndBlock
Definition: vtkTemporalFractal.h:125
vtkTemporalFractal
A source to test AMR data object.
Definition: vtkTemporalFractal.h:46
vtkTemporalFractal::GenerateRectilinearGrids
int GenerateRectilinearGrids
Definition: vtkTemporalFractal.h:226
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkTemporalFractal::Traverse
void Traverse(int &blockId, int level, vtkDataObject *output, int x0, int x1, int y0, int y1, int z0, int z1, int onFace[6])
vtkTemporalFractal::LineTest
int LineTest(float x0, float y0, float z0, float x1, float y1, float z1, double bds[6], int level, int target)
vtkFiltersHybridModule.h
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkTemporalFractal::StartBlock
int StartBlock
Definition: vtkTemporalFractal.h:124
vtkTemporalFractal::AddTestArray
void AddTestArray(vtkHierarchicalBoxDataSet *output)
vtkTemporalFractal::vtkTemporalFractal
vtkTemporalFractal()
vtkTemporalFractal::EvaluateSet
double EvaluateSet(double p[4])
vtkTemporalFractal::~vtkTemporalFractal
~vtkTemporalFractal()
vtkTemporalFractal::InternalImageDataCopy
void InternalImageDataCopy(vtkTemporalFractal *src)
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
vtkTemporalFractal::GhostLevels
int GhostLevels
Definition: vtkTemporalFractal.h:217
vtkX3D::extent
@ extent
Definition: vtkX3D.h:345
vtkTemporalFractal::MaximumLevel
int MaximumLevel
Definition: vtkTemporalFractal.h:214
target
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:828
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkTemporalFractal::Dimensions
int Dimensions
Definition: vtkTemporalFractal.h:215
vtkTemporalFractal::AddVectorArray
void AddVectorArray(vtkHierarchicalBoxDataSet *output)
vtkTemporalFractal::LineTest2
int LineTest2(float x0, float y0, float z0, float x1, float y1, float z1, double bds[6])
vtkTemporalFractal::DiscreteTimeSteps
int DiscreteTimeSteps
Definition: vtkTemporalFractal.h:220
vtkTemporalFractal::FractalValue
float FractalValue
Definition: vtkTemporalFractal.h:216