VTK
vtkTemporalStreamTracer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTemporalStreamTracer.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
26 #ifndef vtkTemporalStreamTracer_h
27 #define vtkTemporalStreamTracer_h
28 
29 #include "vtkFiltersFlowPathsModule.h" // For export macro
30 #include "vtkSmartPointer.h" // For protected ivars.
31 #include "vtkStreamTracer.h"
32 
33 //BTX
34 #include <vector> // STL Header
35 #include <list> // STL Header
36 //ETX
37 
39 
41 class vtkDataArray;
42 class vtkDoubleArray;
43 class vtkGenericCell;
44 class vtkIntArray;
46 class vtkPoints;
47 class vtkCellArray;
48 class vtkDoubleArray;
49 class vtkFloatArray;
50 class vtkIntArray;
51 class vtkCharArray;
53 
54 //BTX
56 {
57  typedef struct { double x[4]; } Position;
58  typedef struct {
59  // These are used during iteration
61  int CachedDataSetId[2];
62  vtkIdType CachedCellId[2];
64  // These are computed scalars we might display
65  int SourceID;
70  // These are useful to track for debugging etc
71  int ErrorCode;
72  float age;
73  // these are needed across time steps to compute vorticity
74  float rotation;
75  float angularVel;
76  float time;
77  float speed;
79 
80  typedef std::vector<ParticleInformation> ParticleVector;
81  typedef ParticleVector::iterator ParticleIterator;
82  typedef std::list<ParticleInformation> ParticleDataList;
83  typedef ParticleDataList::iterator ParticleListIterator;
84 };
85 //ETX
86 
88 {
89 public:
90 
92  void PrintSelf(ostream& os, vtkIndent indent);
93 
96 
98 
101  vtkSetMacro(TimeStep,unsigned int);
102  vtkGetMacro(TimeStep,unsigned int);
104 
106 
108  vtkSetMacro(IgnorePipelineTime, int);
109  vtkGetMacro(IgnorePipelineTime, int);
110  vtkBooleanMacro(IgnorePipelineTime, int);
112 
114 
119  vtkSetMacro(TimeStepResolution,double);
120  vtkGetMacro(TimeStepResolution,double);
122 
124 
131  vtkSetMacro(ForceReinjectionEveryNSteps,int);
132  vtkGetMacro(ForceReinjectionEveryNSteps,int);
134 
135 //BTX
136  enum Units
137  {
139  TERMINATION_STEP_UNIT
140  };
141 //ETX
142 
144 
148  vtkSetMacro(TerminationTime,double);
149  vtkGetMacro(TerminationTime,double);
151 
153 
155  vtkSetMacro(TerminationTimeUnit,int);
156  vtkGetMacro(TerminationTimeUnit,int);
158  {this->SetTerminationTimeUnit(TERMINATION_TIME_UNIT);};
160  {this->SetTerminationTimeUnit(TERMINATION_STEP_UNIT);};
162 
164 
170  vtkSetMacro(StaticSeeds,int);
171  vtkGetMacro(StaticSeeds,int);
172  vtkBooleanMacro(StaticSeeds,int);
174 
176 
181  vtkSetMacro(StaticMesh,int);
182  vtkGetMacro(StaticMesh,int);
183  vtkBooleanMacro(StaticMesh,int);
185 
187 
194 
196 
198  vtkSetStringMacro(ParticleFileName);
199  vtkGetStringMacro(ParticleFileName);
201 
203 
205  vtkSetMacro(EnableParticleWriting,int);
206  vtkGetMacro(EnableParticleWriting,int);
207  vtkBooleanMacro(EnableParticleWriting,int);
209 
211 
215 
216  protected:
217 
220 
221  //
222  // Make sure the pipeline knows what type we expect as input
223  //
225 
226  //
227  // The usual suspects
228  //
229  virtual int ProcessRequest(vtkInformation* request,
230  vtkInformationVector** inputVector,
231  vtkInformationVector* outputVector);
232 
233  //
234  // Store any information we need in the output and fetch what we can
235  // from the input
236  //
237  virtual int RequestInformation(vtkInformation* request,
238  vtkInformationVector** inputVector,
239  vtkInformationVector* outputVector);
240 
241  //
242  // Compute input time steps given the output step
243  //
244  virtual int RequestUpdateExtent(vtkInformation* request,
245  vtkInformationVector** inputVector,
246  vtkInformationVector* outputVector);
247 
248  //
249  // what the pipeline calls for each time step
250  //
251  virtual int RequestData(vtkInformation* request,
252  vtkInformationVector** inputVector,
253  vtkInformationVector* outputVector);
254 
255  //
256  // these routines are internally called to actually generate the output
257  //
258  virtual int ProcessInput(vtkInformationVector** inputVector);
259 
260  virtual int GenerateOutput(vtkInformationVector** inputVector,
261  vtkInformationVector* outputVector);
262 
263  //
264  // Initialization of input (vector-field) geometry
265  //
268 
269 //BTX
270 //
271 
273 
278  int &count);
280 
282 
287  vtkDataSet *source, int sourceID, int ptId,
289  int &LocalAssignedCount);
291 
293 
295  virtual void AssignUniqueIds(
298 
300 
305 
307 
313  bool removeself);
315 
317 
320  double currenttime, double terminationtime,
321  vtkInitialValueProblemSolver* integrator);
323 
325 
332  double velocity[3], double delT);
334 
335  // if the particle is added to send list, then returns value is 1,
336  // if it is kept on this process after a retry return value is 0
339  double point1[4], double delT);
340 
343 
345 
349  double pos[4], double p2[4], double intersection[4],
350  vtkGenericCell *cell);
352 
353 //
354 //ETX
355 //
356  //Track internally which round of RequestData it is--between 0 and 2
358 
359  // Track which process we are
362 
363  // Important for Caching of Cells/Ids/Weights etc
367 
368  // Support 'pipeline' time or manual SetTimeStep
369  unsigned int TimeStep;
370  unsigned int ActualTimeStep;
373 //BTX
374  std::vector<double> InputTimeValues;
375  std::vector<double> OutputTimeValues;
376 //ETX
377 
378  // more time management
379  double EarliestTime;
380  double CurrentTimeSteps[2];
382 
383  // Particle termination after time
386 
387  // Particle injection+Reinjection
392 
393  // Particle writing to disk
397 
398 //BTX
399  // The main lists which are held during operation- between time step updates
400  unsigned int NumberOfParticles;
403 //ETX
404 
405 //BTX
406  //
407  // Scalar arrays that are generated as each particle is updated
408  //
421 
422  // The output geometry
425 
426  // List used for transmitting between processors during parallel operation
428 
429  // The velocity interpolator
431 
432  // The input datasets which are stored by time step 0 and 1
434  vtkSmartPointer<vtkDataSet> DataReferenceT[2];
435 
436  // Cache bounds info for each dataset we will use repeatedly
437  typedef struct {
438  double b[6];
439  } bounds;
440  std::vector<bounds> CachedBounds[2];
441 
442  // utility function we use to test if a point is inside any of our local datasets
443  bool InsideBounds(double point[]);
444 
445 //ETX
446 
447  // global Id counter used to give particles a stamp
450  // for debugging only;
451  int substeps;
452 
453 private:
456 
457 private:
458  vtkTemporalStreamTracer(const vtkTemporalStreamTracer&); // Not implemented.
459  void operator=(const vtkTemporalStreamTracer&); // Not implemented.
460 };
461 
462 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkTemporalStreamTracerNamespace::ParticleInformation::SourceID
int SourceID
Definition: vtkTemporalStreamTracer.h:65
vtkTemporalStreamTracer::AssignUniqueIds
virtual void AssignUniqueIds(vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints)
vtkTemporalStreamTracer::AssignSeedsToProcessors
virtual void AssignSeedsToProcessors(vtkDataSet *source, int sourceID, int ptId, vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints, int &LocalAssignedCount)
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkTemporalStreamTracer::ReinjectionFlag
bool ReinjectionFlag
Definition: vtkTemporalStreamTracer.h:389
vtkTemporalStreamTracerNamespace::ParticleInformation::InjectedPointId
int InjectedPointId
Definition: vtkTemporalStreamTracer.h:67
vtkTemporalStreamTracer::UpdatePiece
int UpdatePiece
Definition: vtkTemporalStreamTracer.h:360
vtkgl::b
GLboolean GLboolean GLboolean b
Definition: vtkgl.h:12312
vtkTemporalStreamTracer::OutputPointData
vtkSmartPointer< vtkPointData > OutputPointData
Definition: vtkTemporalStreamTracer.h:419
vtkTemporalStreamTracer::ForceReinjectionEveryNSteps
int ForceReinjectionEveryNSteps
Definition: vtkTemporalStreamTracer.h:388
vtkTemporalStreamTracer::TransmitReceiveParticles
virtual void TransmitReceiveParticles(vtkTemporalStreamTracerNamespace::ParticleVector &outofdomain, vtkTemporalStreamTracerNamespace::ParticleVector &received, bool removeself)
vtkgl::count
GLuint GLuint GLsizei count
Definition: vtkgl.h:11315
vtkTemporalStreamTracerNamespace::ParticleInformation::rotation
float rotation
Definition: vtkTemporalStreamTracer.h:74
vtkTemporalStreamTracerNamespace::ParticleInformation::TimeStepAge
int TimeStepAge
Definition: vtkTemporalStreamTracer.h:66
vtkTemporalStreamTracerNamespace::ParticleInformation::CurrentPosition
Position CurrentPosition
Definition: vtkTemporalStreamTracer.h:60
vtkTemporalStreamTracer::AddSourceConnection
void AddSourceConnection(vtkAlgorithmOutput *input)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:49
vtkTemporalStreamTracer::ParticleHistories
vtkTemporalStreamTracerNamespace::ParticleDataList ParticleHistories
Definition: vtkTemporalStreamTracer.h:401
vtkTemporalStreamTracerNamespace::ParticleInformation::UniqueParticleId
int UniqueParticleId
Definition: vtkTemporalStreamTracer.h:69
vtkTemporalStreamTracer::InputTimeValues
std::vector< double > InputTimeValues
Definition: vtkTemporalStreamTracer.h:374
vtkTemporalStreamTracer::NumberOfParticles
unsigned int NumberOfParticles
Definition: vtkTemporalStreamTracer.h:400
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTemporalStreamTracerNamespace::ParticleInformation::ErrorCode
int ErrorCode
Definition: vtkTemporalStreamTracer.h:71
vtkTemporalStreamTracer::UniqueIdCounterMPI
vtkIdType UniqueIdCounterMPI
Definition: vtkTemporalStreamTracer.h:449
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkTemporalStreamTracer::SetTerminationTimeUnitToStepUnit
void SetTerminationTimeUnitToStepUnit()
Definition: vtkTemporalStreamTracer.h:159
vtkTemporalStreamTracer::UniqueIdCounter
vtkIdType UniqueIdCounter
Definition: vtkTemporalStreamTracer.h:448
vtkStreamTracer.h
vtkTemporalStreamTracer::TERMINATION_TIME_UNIT
@ TERMINATION_TIME_UNIT
Definition: vtkTemporalStreamTracer.h:138
vtkTemporalStreamTracer::TimeStepResolution
double TimeStepResolution
Definition: vtkTemporalStreamTracer.h:381
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkTemporalStreamTracerNamespace::Position
Definition: vtkTemporalStreamTracer.h:57
VTKFILTERSFLOWPATHS_EXPORT
#define VTKFILTERSFLOWPATHS_EXPORT
Definition: vtkFiltersFlowPathsModule.h:15
vtkSmartPointer< vtkFloatArray >
vtkTemporalStreamTracer::ParticleAge
vtkSmartPointer< vtkFloatArray > ParticleAge
Definition: vtkTemporalStreamTracer.h:409
vtkFiltersFlowPathsModule.h
vtkTemporalStreamTracer
A Parallel Particle tracer for unsteady vector fields.
Definition: vtkTemporalStreamTracer.h:88
vtkTemporalStreamTracer::UpdateNumPieces
int UpdateNumPieces
Definition: vtkTemporalStreamTracer.h:361
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkTemporalStreamTracer::~vtkTemporalStreamTracer
~vtkTemporalStreamTracer()
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkTemporalStreamTracer::GenerateOutput
virtual int GenerateOutput(vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkMultiBlockDataSet
Composite dataset that organizes datasets into blocks.
Definition: vtkMultiBlockDataSet.h:51
vtkTemporalStreamTracer::EarliestTime
double EarliestTime
Definition: vtkTemporalStreamTracer.h:379
vtkTemporalStreamTracerNamespace::ParticleInformation::InjectedStepId
int InjectedStepId
Definition: vtkTemporalStreamTracer.h:68
vtkTemporalStreamTracer::Interpolator
vtkSmartPointer< vtkTemporalInterpolatedVelocityField > Interpolator
Definition: vtkTemporalStreamTracer.h:430
vtkTemporalStreamTracer::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkTemporalStreamTracer::InjectedStepIds
vtkSmartPointer< vtkIntArray > InjectedStepIds
Definition: vtkTemporalStreamTracer.h:413
vtkTemporalStreamTracer::StaticSeeds
int StaticSeeds
Definition: vtkTemporalStreamTracer.h:366
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:821
vtkTemporalStreamTracer::AddParticleToMPISendList
void AddParticleToMPISendList(vtkTemporalStreamTracerNamespace::ParticleInformation &info)
vtkCharArray
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:46
vtkTemporalStreamTracer::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkTemporalStreamTracer::ParticleFileName
char * ParticleFileName
Definition: vtkTemporalStreamTracer.h:395
vtkX3D::point
@ point
Definition: vtkX3D.h:236
vtkTemporalStreamTracer::TerminationTime
double TerminationTime
Definition: vtkTemporalStreamTracer.h:384
vtkTemporalStreamTracer::ActualTimeStep
unsigned int ActualTimeStep
Definition: vtkTemporalStreamTracer.h:370
vtkTemporalStreamTracer::AllFixedGeometry
int AllFixedGeometry
Definition: vtkTemporalStreamTracer.h:364
vtkTemporalStreamTracer::bounds
Definition: vtkTemporalStreamTracer.h:437
vtkTemporalStreamTracer::ParticleVorticity
vtkSmartPointer< vtkFloatArray > ParticleVorticity
Definition: vtkTemporalStreamTracer.h:415
vtkTemporalStreamTracer::NumberOfInputTimeSteps
unsigned int NumberOfInputTimeSteps
Definition: vtkTemporalStreamTracer.h:372
vtkTemporalStreamTracer::UpdateParticleList
void UpdateParticleList(vtkTemporalStreamTracerNamespace::ParticleVector &candidates)
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:85
vtkTemporalStreamTracer::StaticMesh
int StaticMesh
Definition: vtkTemporalStreamTracer.h:365
vtkTemporalStreamTracer::ParticleInjectionTime
vtkTimeStamp ParticleInjectionTime
Definition: vtkTemporalStreamTracer.h:391
vtkTemporalStreamTracer::SendParticleToAnotherProcess
bool SendParticleToAnotherProcess(vtkTemporalStreamTracerNamespace::ParticleInformation &info, double point1[4], double delT)
vtkTemporalStreamTracer::vtkTemporalStreamTracer
vtkTemporalStreamTracer()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkTemporalStreamTracer::ComputeDomainExitLocation
bool ComputeDomainExitLocation(double pos[4], double p2[4], double intersection[4], vtkGenericCell *cell)
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:50
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:53
vtkTemporalStreamTracer::SetTemporalInput
int SetTemporalInput(vtkDataObject *td, int index)
vtkSmartPointer.h
vtkAbstractParticleWriter
abstract class to write particle data to file
Definition: vtkAbstractParticleWriter.h:37
vtkTemporalStreamTracer::RemoveAllSources
void RemoveAllSources()
vtkTemporalStreamTracer::SetParticleWriter
virtual void SetParticleWriter(vtkAbstractParticleWriter *pw)
vtkTemporalStreamTracer::New
static vtkTemporalStreamTracer * New()
vtkTemporalStreamTracer::MPISendList
vtkTemporalStreamTracerNamespace::ParticleVector MPISendList
Definition: vtkTemporalStreamTracer.h:427
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkStreamTracer
Streamline generator.
Definition: vtkStreamTracer.h:103
vtkTemporalStreamTracer::InjectedPointIds
vtkSmartPointer< vtkIntArray > InjectedPointIds
Definition: vtkTemporalStreamTracer.h:412
vtkTemporalStreamTracerNamespace::ParticleInformation::angularVel
float angularVel
Definition: vtkTemporalStreamTracer.h:75
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkTemporalStreamTracerNamespace::ParticleInformation::speed
float speed
Definition: vtkTemporalStreamTracer.h:77
vtkTemporalStreamTracer::IntegrateParticle
void IntegrateParticle(vtkTemporalStreamTracerNamespace::ParticleListIterator &it, double currenttime, double terminationtime, vtkInitialValueProblemSolver *integrator)
vtkTemporalStreamTracer::TimeStep
unsigned int TimeStep
Definition: vtkTemporalStreamTracer.h:369
vtkTemporalStreamTracer::ParticleWriter
vtkAbstractParticleWriter * ParticleWriter
Definition: vtkTemporalStreamTracer.h:394
vtkTemporalStreamTracerNamespace::ParticleInformation::age
float age
Definition: vtkTemporalStreamTracer.h:72
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkAbstractInterpolatedVelocityField
An abstract class for obtaining the interpolated velocity values at a point.
Definition: vtkAbstractInterpolatedVelocityField.h:85
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkTemporalStreamTracer::ProcessInput
virtual int ProcessInput(vtkInformationVector **inputVector)
vtkTemporalStreamTracer::ParticleIds
vtkSmartPointer< vtkIntArray > ParticleIds
Definition: vtkTemporalStreamTracer.h:410
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkStreamTracer::Units
Units
Definition: vtkStreamTracer.h:147
vtkTemporalStreamTracer::ParticleCells
vtkSmartPointer< vtkCellArray > ParticleCells
Definition: vtkTemporalStreamTracer.h:423
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkTemporalStreamTracer::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalStreamTracerNamespace::ParticleVector
std::vector< ParticleInformation > ParticleVector
Definition: vtkTemporalStreamTracer.h:80
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkTemporalStreamTracerNamespace
Definition: vtkTemporalStreamTracer.h:56
vtkTemporalStreamTracer::ParticleAngularVel
vtkSmartPointer< vtkFloatArray > ParticleAngularVel
Definition: vtkTemporalStreamTracer.h:417
vtkTemporalStreamTracerNamespace::ParticleListIterator
ParticleDataList::iterator ParticleListIterator
Definition: vtkTemporalStreamTracer.h:83
vtkTemporalStreamTracer::ErrorCode
vtkSmartPointer< vtkIntArray > ErrorCode
Definition: vtkTemporalStreamTracer.h:414
vtkTemporalStreamTracer::InsideBounds
bool InsideBounds(double point[])
vtkTemporalStreamTracerNamespace::ParticleInformation
Definition: vtkTemporalStreamTracer.h:58
vtkTemporalStreamTracer::OutputTimeValues
std::vector< double > OutputTimeValues
Definition: vtkTemporalStreamTracer.h:375
vtkTemporalStreamTracer::TestParticles
void TestParticles(vtkTemporalStreamTracerNamespace::ParticleVector &candidates, vtkTemporalStreamTracerNamespace::ParticleVector &passed, int &count)
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:39
vtkTemporalStreamTracer::OutputCoordinates
vtkSmartPointer< vtkPoints > OutputCoordinates
Definition: vtkTemporalStreamTracer.h:424
vtkTemporalInterpolatedVelocityField
A helper class for interpolating between times during particle tracing.
Definition: vtkTemporalInterpolatedVelocityField.h:69
vtkTemporalStreamTracer::SetTerminationTimeUnitToTimeUnit
void SetTerminationTimeUnitToTimeUnit()
Definition: vtkTemporalStreamTracer.h:157
vtkTemporalStreamTracerNamespace::ParticleDataList
std::list< ParticleInformation > ParticleDataList
Definition: vtkTemporalStreamTracer.h:82
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:42
vtkTemporalStreamTracer::ReinjectionCounter
int ReinjectionCounter
Definition: vtkTemporalStreamTracer.h:390
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:49
vtkTemporalStreamTracer::RequestIndex
int RequestIndex
Definition: vtkTemporalStreamTracer.h:357
vtkTemporalStreamTracerNamespace::ParticleInformation::time
float time
Definition: vtkTemporalStreamTracer.h:76
vtkTemporalStreamTracer::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkTemporalStreamTracer::ParticleSourceIds
vtkSmartPointer< vtkCharArray > ParticleSourceIds
Definition: vtkTemporalStreamTracer.h:411
vtkTemporalStreamTracer::InterpolationCount
int InterpolationCount
Definition: vtkTemporalStreamTracer.h:420
vtkTemporalStreamTracer::TerminationTimeUnit
int TerminationTimeUnit
Definition: vtkTemporalStreamTracer.h:385
vtkInitialValueProblemSolver
Integrate a set of ordinary differential equations (initial value problem) in time.
Definition: vtkInitialValueProblemSolver.h:40
vtkTemporalStreamTracer::cellVectors
vtkSmartPointer< vtkDoubleArray > cellVectors
Definition: vtkTemporalStreamTracer.h:418
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkTemporalStreamTracer::ProcessRequest
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalStreamTracer::substeps
int substeps
Definition: vtkTemporalStreamTracer.h:451
vtkTemporalStreamTracerNamespace::ParticleIterator
ParticleVector::iterator ParticleIterator
Definition: vtkTemporalStreamTracer.h:81
vtkTemporalStreamTracer::LocalSeeds
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
Definition: vtkTemporalStreamTracer.h:402
vtkTemporalStreamTracer::EnableParticleWriting
int EnableParticleWriting
Definition: vtkTemporalStreamTracer.h:396
vtkTemporalStreamTracer::ParticleRotation
vtkSmartPointer< vtkFloatArray > ParticleRotation
Definition: vtkTemporalStreamTracer.h:416
vtkStreamTracer::SetInterpolatorPrototype
void SetInterpolatorPrototype(vtkAbstractInterpolatedVelocityField *ivf)
vtkTemporalStreamTracer::IgnorePipelineTime
int IgnorePipelineTime
Definition: vtkTemporalStreamTracer.h:371
vtkTemporalStreamTracerNamespace::ParticleInformation::LocationState
int LocationState
Definition: vtkTemporalStreamTracer.h:63
vtkTemporalStreamTracer::InitializeInterpolator
int InitializeInterpolator()
vtkTemporalStreamTracer::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTemporalStreamTracer::RetryWithPush
bool RetryWithPush(vtkTemporalStreamTracerNamespace::ParticleInformation &info, double velocity[3], double delT)