VTK  9.1.0
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 =========================================================================*/
32 #ifndef vtkTemporalStreamTracer_h
33 #define vtkTemporalStreamTracer_h
34 
35 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_0_0
36 #include "vtkFiltersFlowPathsModule.h" // For export macro
37 #include "vtkSmartPointer.h" // For protected ivars.
38 #include "vtkStreamTracer.h"
39 
40 #include <list> // STL Header
41 #include <vector> // STL Header
42 
44 
46 class vtkDataArray;
47 class vtkDoubleArray;
48 class vtkGenericCell;
49 class vtkIntArray;
51 class vtkPoints;
52 class vtkCellArray;
53 class vtkDoubleArray;
54 class vtkFloatArray;
55 class vtkIntArray;
56 class vtkSignedCharArray;
58 
60 {
61 struct Position_t
62 {
63  double x[4];
64 };
65 using Position = struct Position_t;
66 
68 {
69  // These are used during iteration
74  // These are computed scalars we might display
75  int SourceID;
80  // These are useful to track for debugging etc
81  int ErrorCode;
82  float age;
83  // these are needed across time steps to compute vorticity
84  float rotation;
85  float angularVel;
86  float time;
87  float speed;
88 };
90 
91 typedef std::vector<ParticleInformation> ParticleVector;
92 typedef ParticleVector::iterator ParticleIterator;
93 typedef std::list<ParticleInformation> ParticleDataList;
94 typedef ParticleDataList::iterator ParticleListIterator;
95 };
96 
97 VTK_DEPRECATED_IN_9_0_0("Use one of vtkParticleTracerBase, vtkParticleTracer, "
98  "vtkParticlePathFilter, or vtkStreaklineFilter")
99 class VTKFILTERSFLOWPATHS_EXPORT vtkTemporalStreamTracer : public vtkStreamTracer
100 {
101 public:
103  void PrintSelf(ostream& os, vtkIndent indent) override;
104 
109 
111 
116  vtkSetMacro(TimeStep, unsigned int);
117  vtkGetMacro(TimeStep, unsigned int);
119 
121 
125  vtkSetMacro(IgnorePipelineTime, vtkTypeBool);
126  vtkGetMacro(IgnorePipelineTime, vtkTypeBool);
127  vtkBooleanMacro(IgnorePipelineTime, vtkTypeBool);
129 
131 
138  vtkSetMacro(TimeStepResolution, double);
139  vtkGetMacro(TimeStepResolution, double);
141 
143 
152  vtkSetMacro(ForceReinjectionEveryNSteps, int);
153  vtkGetMacro(ForceReinjectionEveryNSteps, int);
155 
156  enum Units
157  {
159  TERMINATION_STEP_UNIT
160  };
161 
163 
169  vtkSetMacro(TerminationTime, double);
170  vtkGetMacro(TerminationTime, double);
172 
174 
178  vtkSetMacro(TerminationTimeUnit, int);
179  vtkGetMacro(TerminationTimeUnit, int);
180  void SetTerminationTimeUnitToTimeUnit() { this->SetTerminationTimeUnit(TERMINATION_TIME_UNIT); }
181  void SetTerminationTimeUnitToStepUnit() { this->SetTerminationTimeUnit(TERMINATION_STEP_UNIT); }
183 
185 
193  vtkSetMacro(StaticSeeds, vtkTypeBool);
194  vtkGetMacro(StaticSeeds, vtkTypeBool);
195  vtkBooleanMacro(StaticSeeds, vtkTypeBool);
197 
199 
207  vtkSetMacro(StaticMesh, vtkTypeBool);
208  vtkGetMacro(StaticMesh, vtkTypeBool);
209  vtkBooleanMacro(StaticMesh, vtkTypeBool);
211 
213 
220  vtkGetObjectMacro(ParticleWriter, vtkAbstractParticleWriter);
222 
224 
228  vtkSetFilePathMacro(ParticleFileName);
229  vtkGetFilePathMacro(ParticleFileName);
231 
233 
237  vtkSetMacro(EnableParticleWriting, vtkTypeBool);
238  vtkGetMacro(EnableParticleWriting, vtkTypeBool);
239  vtkBooleanMacro(EnableParticleWriting, vtkTypeBool);
241 
243 
249 
250 protected:
253 
254  //
255  // Make sure the pipeline knows what type we expect as input
256  //
258 
259  //
260  // The usual suspects
261  //
263  vtkInformationVector* outputVector) override;
264 
265  //
266  // Store any information we need in the output and fetch what we can
267  // from the input
268  //
270  vtkInformationVector* outputVector) override;
271 
272  //
273  // Compute input time steps given the output step
274  //
276  vtkInformationVector* outputVector) override;
277 
278  //
279  // what the pipeline calls for each time step
280  //
281  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
282  vtkInformationVector* outputVector) override;
283 
284  //
285  // these routines are internally called to actually generate the output
286  //
287  virtual int ProcessInput(vtkInformationVector** inputVector);
288 
289  virtual int GenerateOutput(
290  vtkInformationVector** inputVector, vtkInformationVector* outputVector);
291 
292  //
293  // Initialization of input (vector-field) geometry
294  //
297 
298  //
299 
306 
313  virtual void AssignSeedsToProcessors(vtkDataSet* source, int sourceID, int ptId,
314  vtkTemporalStreamTracerNamespace::ParticleVector& LocalSeedPoints, int& LocalAssignedCount);
315 
321 
327 
334  vtkTemporalStreamTracerNamespace::ParticleVector& received, bool removeself);
335 
340  double currenttime, double terminationtime, vtkInitialValueProblemSolver* integrator);
341 
349  vtkTemporalStreamTracerNamespace::ParticleInformation& info, double velocity[3], double delT);
350 
351  // if the particle is added to send list, then returns value is 1,
352  // if it is kept on this process after a retry return value is 0
354  vtkTemporalStreamTracerNamespace::ParticleInformation& info, double point1[4], double delT);
355 
357 
364  double pos[4], double p2[4], double intersection[4], vtkGenericCell* cell);
365 
366  //
367 
368  //
369  // Track internally which round of RequestData it is--between 0 and 2
371 
372  // Track which process we are
375 
376  // Important for Caching of Cells/Ids/Weights etc
380 
381  // Support 'pipeline' time or manual SetTimeStep
382  unsigned int TimeStep;
383  unsigned int ActualTimeStep;
386 
387  std::vector<double> InputTimeValues;
388  std::vector<double> OutputTimeValues;
389 
390  // more time management
391  double EarliestTime;
392  double CurrentTimeSteps[2];
394 
395  // Particle termination after time
398 
399  // Particle injection+Reinjection
404 
405  // Particle writing to disk
409 
410  // The main lists which are held during operation- between time step updates
411  unsigned int NumberOfParticles;
414 
415  //
416  // Scalar arrays that are generated as each particle is updated
417  //
430 
431  // The output geometry
434 
435  // List used for transmitting between processors during parallel operation
437 
438  // The velocity interpolator
440 
441  // The input datasets which are stored by time step 0 and 1
443  vtkSmartPointer<vtkDataSet> DataReferenceT[2];
444 
445  // Cache bounds info for each dataset we will use repeatedly
446  struct bounds_t
447  {
448  double b[6];
449  };
450  using bounds = struct bounds_t;
451  std::vector<bounds> CachedBounds[2];
452 
453  // utility function we use to test if a point is inside any of our local datasets
454  bool InsideBounds(double point[]);
455 
456  // global Id counter used to give particles a stamp
459  // for debugging only;
460  int substeps;
461 
462 private:
466  void SetInterpolatorPrototype(vtkAbstractInterpolatedVelocityField*) {}
467 
468 private:
470  void operator=(const vtkTemporalStreamTracer&) = delete;
471 };
472 
473 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:143
vtkTemporalStreamTracerNamespace::Position_t::x
double x[4]
Definition: vtkTemporalStreamTracer.h:63
vtkTemporalStreamTracer::AssignUniqueIds
virtual void AssignUniqueIds(vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints)
give each one a unique ID.
vtkTemporalStreamTracer::UpdatePieceId
int UpdatePieceId
Definition: vtkTemporalStreamTracer.h:373
vtkTemporalStreamTracer::AssignSeedsToProcessors
virtual void AssignSeedsToProcessors(vtkDataSet *source, int sourceID, int ptId, vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints, int &LocalAssignedCount)
all the injection/seed points according to which processor they belong to.
vtkTemporalStreamTracer::ReinjectionFlag
bool ReinjectionFlag
Definition: vtkTemporalStreamTracer.h:401
vtkTemporalStreamTracerNamespace::ParticleInformation_t
Definition: vtkTemporalStreamTracer.h:68
vtkTemporalStreamTracer::vtkGetFilePathMacro
vtkGetFilePathMacro(ParticleFileName)
Set/Get the filename to be used with the particle writer when dumping particles to disk.
vtkTemporalStreamTracer::OutputPointData
vtkSmartPointer< vtkPointData > OutputPointData
Definition: vtkTemporalStreamTracer.h:428
vtkTemporalStreamTracer::ForceReinjectionEveryNSteps
int ForceReinjectionEveryNSteps
Definition: vtkTemporalStreamTracer.h:400
vtkTemporalStreamTracer::TransmitReceiveParticles
virtual void TransmitReceiveParticles(vtkTemporalStreamTracerNamespace::ParticleVector &outofdomain, vtkTemporalStreamTracerNamespace::ParticleVector &received, bool removeself)
this is used during classification of seed points and also between iterations of the main loop as par...
vtkTemporalStreamTracer::AddSourceConnection
void AddSourceConnection(vtkAlgorithmOutput *input)
Provide support for multiple see sources.
vtkIdType
int vtkIdType
Definition: vtkType.h:332
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:145
vtkTemporalStreamTracer::ParticleHistories
vtkTemporalStreamTracerNamespace::ParticleDataList ParticleHistories
Definition: vtkTemporalStreamTracer.h:412
vtkTemporalStreamTracer::InputTimeValues
std::vector< double > InputTimeValues
Definition: vtkTemporalStreamTracer.h:387
vtkTemporalStreamTracer::NumberOfParticles
unsigned int NumberOfParticles
Definition: vtkTemporalStreamTracer.h:411
vtkTemporalStreamTracerNamespace::ParticleInformation_t::SourceID
int SourceID
Definition: vtkTemporalStreamTracer.h:75
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:145
vtkTemporalStreamTracer::RequestData
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkTemporalStreamTracer::UniqueIdCounterMPI
vtkIdType UniqueIdCounterMPI
Definition: vtkTemporalStreamTracer.h:458
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:52
vtkTemporalStreamTracer::SetTerminationTimeUnitToStepUnit
void SetTerminationTimeUnitToStepUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
Definition: vtkTemporalStreamTracer.h:181
vtkTemporalStreamTracer::StaticSeeds
vtkTypeBool StaticSeeds
Definition: vtkTemporalStreamTracer.h:379
vtkTemporalStreamTracer::~vtkTemporalStreamTracer
~vtkTemporalStreamTracer() override
vtkTemporalStreamTracer::UniqueIdCounter
vtkIdType UniqueIdCounter
Definition: vtkTemporalStreamTracer.h:457
vtkStreamTracer.h
vtkTemporalStreamTracer::TERMINATION_TIME_UNIT
@ TERMINATION_TIME_UNIT
Definition: vtkTemporalStreamTracer.h:158
vtkTemporalStreamTracer::TimeStepResolution
double TimeStepResolution
Definition: vtkTemporalStreamTracer.h:393
vtkSmartPointer< vtkFloatArray >
vtkTemporalStreamTracer::ParticleAge
vtkSmartPointer< vtkFloatArray > ParticleAge
Definition: vtkTemporalStreamTracer.h:418
vtkTemporalStreamTracer::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkTemporalStreamTracer
A Parallel Particle tracer for unsteady vector fields.
Definition: vtkTemporalStreamTracer.h:100
vtkTemporalStreamTracer::UpdateNumPieces
int UpdateNumPieces
Definition: vtkTemporalStreamTracer.h:374
vtkTemporalStreamTracerNamespace::ParticleInformation_t::UniqueParticleId
int UniqueParticleId
Definition: vtkTemporalStreamTracer.h:79
vtkSignedCharArray
dynamic, self-adjusting array of signed char
Definition: vtkSignedCharArray.h:36
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
vtkTemporalStreamTracer::RequestInformation
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkTemporalStreamTracer::GenerateOutput
virtual int GenerateOutput(vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkMultiBlockDataSet
Composite dataset that organizes datasets into blocks.
Definition: vtkMultiBlockDataSet.h:155
vtkTemporalStreamTracer::EarliestTime
double EarliestTime
Definition: vtkTemporalStreamTracer.h:391
vtkTemporalStreamTracer::Interpolator
vtkSmartPointer< vtkTemporalInterpolatedVelocityField > Interpolator
Definition: vtkTemporalStreamTracer.h:439
vtkTemporalStreamTracer::InjectedStepIds
vtkSmartPointer< vtkIntArray > InjectedStepIds
Definition: vtkTemporalStreamTracer.h:422
vtkTemporalStreamTracerNamespace::ParticleInformation_t::angularVel
float angularVel
Definition: vtkTemporalStreamTracer.h:85
vtkTemporalStreamTracer::AddParticleToMPISendList
void AddParticleToMPISendList(vtkTemporalStreamTracerNamespace::ParticleInformation &info)
vtkTemporalStreamTracer::vtkSetFilePathMacro
vtkSetFilePathMacro(ParticleFileName)
Set/Get the filename to be used with the particle writer when dumping particles to disk.
vtkTemporalStreamTracerNamespace::ParticleInformation_t::InjectedPointId
int InjectedPointId
Definition: vtkTemporalStreamTracer.h:77
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkTemporalStreamTracer::ParticleFileName
char * ParticleFileName
Definition: vtkTemporalStreamTracer.h:407
vtkX3D::point
@ point
Definition: vtkX3D.h:242
vtkTemporalStreamTracer::TerminationTime
double TerminationTime
Definition: vtkTemporalStreamTracer.h:396
vtkTemporalStreamTracer::ActualTimeStep
unsigned int ActualTimeStep
Definition: vtkTemporalStreamTracer.h:383
vtkTemporalStreamTracerNamespace::ParticleInformation_t::rotation
float rotation
Definition: vtkTemporalStreamTracer.h:84
vtkTemporalStreamTracer::AllFixedGeometry
int AllFixedGeometry
Definition: vtkTemporalStreamTracer.h:377
vtkTemporalStreamTracer::ParticleVorticity
vtkSmartPointer< vtkFloatArray > ParticleVorticity
Definition: vtkTemporalStreamTracer.h:424
vtkTemporalStreamTracer::NumberOfInputTimeSteps
unsigned int NumberOfInputTimeSteps
Definition: vtkTemporalStreamTracer.h:385
vtkTemporalStreamTracer::UpdateParticleList
void UpdateParticleList(vtkTemporalStreamTracerNamespace::ParticleVector &candidates)
and sending between processors, into a list, which is used as the master list on this processor
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:77
vtkTemporalStreamTracerNamespace::ParticleInformation_t::LocationState
int LocationState
Definition: vtkTemporalStreamTracer.h:73
vtkTemporalStreamTracer::ParticleInjectionTime
vtkTimeStamp ParticleInjectionTime
Definition: vtkTemporalStreamTracer.h:403
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:113
vtkTemporalStreamTracer::ComputeDomainExitLocation
bool ComputeDomainExitLocation(double pos[4], double p2[4], double intersection[4], vtkGenericCell *cell)
In dnamic meshes, particles might leave the domain and need to be extrapolated across a gap between t...
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:290
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:149
VTK_DEPRECATED_IN_9_0_0
#define VTK_DEPRECATED_IN_9_0_0(reason)
Definition: vtkDeprecation.h:126
vtkTemporalStreamTracer::SetTemporalInput
int SetTemporalInput(vtkDataObject *td, int index)
vtkSmartPointer.h
vtkAbstractParticleWriter
abstract class to write particle data to file
Definition: vtkAbstractParticleWriter.h:38
vtkTemporalStreamTracer::RemoveAllSources
void RemoveAllSources()
Provide support for multiple see sources.
vtkTemporalStreamTracer::IgnorePipelineTime
vtkTypeBool IgnorePipelineTime
Definition: vtkTemporalStreamTracer.h:384
vtkTemporalStreamTracerNamespace::ParticleInformation_t::CachedCellId
vtkIdType CachedCellId[2]
Definition: vtkTemporalStreamTracer.h:72
vtkTemporalStreamTracer::ProcessRequest
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
vtkTemporalStreamTracer::SetParticleWriter
virtual void SetParticleWriter(vtkAbstractParticleWriter *pw)
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter...
vtkTemporalStreamTracerNamespace::Position_t
Definition: vtkTemporalStreamTracer.h:62
vtkTemporalStreamTracer::New
static vtkTemporalStreamTracer * New()
Construct object using 2nd order Runge Kutta.
vtkTemporalStreamTracerNamespace::ParticleInformation_t::TimeStepAge
int TimeStepAge
Definition: vtkTemporalStreamTracer.h:76
vtkTemporalStreamTracer::MPISendList
vtkTemporalStreamTracerNamespace::ParticleVector MPISendList
Definition: vtkTemporalStreamTracer.h:436
vtkStreamTracer
Streamline generator.
Definition: vtkStreamTracer.h:217
vtkTemporalStreamTracer::InjectedPointIds
vtkSmartPointer< vtkIntArray > InjectedPointIds
Definition: vtkTemporalStreamTracer.h:421
vtkTemporalStreamTracer::IntegrateParticle
void IntegrateParticle(vtkTemporalStreamTracerNamespace::ParticleListIterator &it, double currenttime, double terminationtime, vtkInitialValueProblemSolver *integrator)
particle between the two times supplied.
vtkTemporalStreamTracer::TimeStep
unsigned int TimeStep
Definition: vtkTemporalStreamTracer.h:382
vtkTemporalStreamTracer::ParticleWriter
vtkAbstractParticleWriter * ParticleWriter
Definition: vtkTemporalStreamTracer.h:406
vtkTemporalStreamTracer::EnableParticleWriting
vtkTypeBool EnableParticleWriting
Definition: vtkTemporalStreamTracer.h:408
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
vtkAbstractInterpolatedVelocityField
An abstract class for obtaining the interpolated velocity values at a point.
Definition: vtkAbstractInterpolatedVelocityField.h:83
vtkTemporalStreamTracer::ProcessInput
virtual int ProcessInput(vtkInformationVector **inputVector)
vtkTemporalStreamTracer::ParticleIds
vtkSmartPointer< vtkIntArray > ParticleIds
Definition: vtkTemporalStreamTracer.h:419
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkTemporalStreamTracerNamespace::ParticleInformation_t::time
float time
Definition: vtkTemporalStreamTracer.h:86
vtkStreamTracer::Units
Units
Definition: vtkStreamTracer.h:268
vtkTemporalStreamTracer::ParticleCells
vtkSmartPointer< vtkCellArray > ParticleCells
Definition: vtkTemporalStreamTracer.h:432
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkTemporalStreamTracerNamespace::ParticleVector
std::vector< ParticleInformation > ParticleVector
Definition: vtkTemporalStreamTracer.h:91
vtkTemporalStreamTracerNamespace::ParticleInformation_t::CurrentPosition
Position CurrentPosition
Definition: vtkTemporalStreamTracer.h:70
vtkTemporalStreamTracerNamespace::ParticleInformation_t::age
float age
Definition: vtkTemporalStreamTracer.h:82
vtkTemporalStreamTracerNamespace
Definition: vtkTemporalStreamTracer.h:60
vtkTemporalStreamTracer::ParticleAngularVel
vtkSmartPointer< vtkFloatArray > ParticleAngularVel
Definition: vtkTemporalStreamTracer.h:426
vtkTemporalStreamTracerNamespace::ParticleListIterator
ParticleDataList::iterator ParticleListIterator
Definition: vtkTemporalStreamTracer.h:94
vtkTemporalStreamTracer::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkTemporalStreamTracerNamespace::ParticleInformation_t::ErrorCode
int ErrorCode
Definition: vtkTemporalStreamTracer.h:81
vtkDeprecation.h
vtkTemporalStreamTracer::InsideBounds
bool InsideBounds(double point[])
vtkTemporalStreamTracer::OutputTimeValues
std::vector< double > OutputTimeValues
Definition: vtkTemporalStreamTracer.h:388
vtkTemporalStreamTracer::TestParticles
void TestParticles(vtkTemporalStreamTracerNamespace::ParticleVector &candidates, vtkTemporalStreamTracerNamespace::ParticleVector &passed, int &count)
inside our data.
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:66
vtkTemporalStreamTracer::OutputCoordinates
vtkSmartPointer< vtkPoints > OutputCoordinates
Definition: vtkTemporalStreamTracer.h:433
vtkTemporalStreamTracer::bounds_t
Definition: vtkTemporalStreamTracer.h:447
vtkTemporalInterpolatedVelocityField
A helper class for interpolating between times during particle tracing.
Definition: vtkTemporalInterpolatedVelocityField.h:70
vtkTemporalStreamTracer::SetTerminationTimeUnitToTimeUnit
void SetTerminationTimeUnitToTimeUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
Definition: vtkTemporalStreamTracer.h:180
vtkTemporalStreamTracerNamespace::ParticleDataList
std::list< ParticleInformation > ParticleDataList
Definition: vtkTemporalStreamTracer.h:93
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:116
vtkTemporalStreamTracer::ReinjectionCounter
int ReinjectionCounter
Definition: vtkTemporalStreamTracer.h:402
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:145
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:998
vtkTemporalStreamTracerNamespace::ParticleInformation_t::CachedDataSetId
int CachedDataSetId[2]
Definition: vtkTemporalStreamTracer.h:71
vtkTemporalStreamTracer::RequestIndex
int RequestIndex
Definition: vtkTemporalStreamTracer.h:370
vtkTemporalStreamTracer::ParticleSourceIds
vtkSmartPointer< vtkSignedCharArray > ParticleSourceIds
Definition: vtkTemporalStreamTracer.h:420
vtkTemporalStreamTracer::InterpolationCount
int InterpolationCount
Definition: vtkTemporalStreamTracer.h:429
vtkTemporalStreamTracerNamespace::ParticleInformation_t::InjectedStepId
int InjectedStepId
Definition: vtkTemporalStreamTracer.h:78
vtkTemporalStreamTracer::TerminationTimeUnit
int TerminationTimeUnit
Definition: vtkTemporalStreamTracer.h:397
vtkInitialValueProblemSolver
Integrate a set of ordinary differential equations (initial value problem) in time.
Definition: vtkInitialValueProblemSolver.h:41
vtkTemporalStreamTracer::cellVectors
vtkSmartPointer< vtkDoubleArray > cellVectors
Definition: vtkTemporalStreamTracer.h:427
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:169
vtkTemporalStreamTracerNamespace::ParticleInformation_t::speed
float speed
Definition: vtkTemporalStreamTracer.h:87
vtkTemporalStreamTracer::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTemporalStreamTracer::substeps
int substeps
Definition: vtkTemporalStreamTracer.h:460
vtkTemporalStreamTracerNamespace::ParticleIterator
ParticleVector::iterator ParticleIterator
Definition: vtkTemporalStreamTracer.h:92
vtkTemporalStreamTracer::LocalSeeds
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
Definition: vtkTemporalStreamTracer.h:413
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkTemporalStreamTracer::StaticMesh
vtkTypeBool StaticMesh
Definition: vtkTemporalStreamTracer.h:378
vtkTemporalStreamTracer::ParticleRotation
vtkSmartPointer< vtkFloatArray > ParticleRotation
Definition: vtkTemporalStreamTracer.h:425
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkTemporalStreamTracer::ErrorCodeArray
vtkSmartPointer< vtkIntArray > ErrorCodeArray
Definition: vtkTemporalStreamTracer.h:423
vtkTemporalStreamTracer::InitializeInterpolator
int InitializeInterpolator()
vtkTemporalStreamTracer::RetryWithPush
bool RetryWithPush(vtkTemporalStreamTracerNamespace::ParticleInformation &info, double velocity[3], double delT)
and sent to the other processors for possible continuation.