27 #ifndef vtkParticleTracerBase_h
28 #define vtkParticleTracerBase_h
64 int CachedDataSetId[2];
110 void PrintSelf(ostream& os,
vtkIndent indent);
111 void PrintParticleHistories();
116 vtkGetMacro(ComputeVorticity,
bool);
117 void SetComputeVorticity(
bool);
123 vtkGetMacro(TerminalSpeed,
double);
124 void SetTerminalSpeed(
double);
130 vtkGetMacro(RotationScale,
double);
131 void SetRotationScale(
double);
137 vtkSetMacro(IgnorePipelineTime,
int);
138 vtkGetMacro(IgnorePipelineTime,
int);
139 vtkBooleanMacro(IgnorePipelineTime,
int);
150 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
151 void SetForceReinjectionEveryNSteps(
int);
159 void SetTerminationTime(
double t);
160 vtkGetMacro(TerminationTime,
double);
164 vtkGetObjectMacro ( Integrator, vtkInitialValueProblemSolver );
166 void SetIntegratorType(
int type);
167 int GetIntegratorType();
174 vtkGetMacro(StartTime,
double);
175 void SetStartTime(
double t);
185 vtkSetMacro(StaticSeeds,
int);
186 vtkGetMacro(StaticSeeds,
int);
196 vtkSetMacro(StaticMesh,
int);
197 vtkGetMacro(StaticMesh,
int);
212 vtkSetStringMacro(ParticleFileName);
213 vtkGetStringMacro(ParticleFileName);
219 vtkSetMacro(EnableParticleWriting,
int);
220 vtkGetMacro(EnableParticleWriting,
int);
221 vtkBooleanMacro(EnableParticleWriting,
int);
227 vtkSetMacro(DisableResetCache,
int);
228 vtkGetMacro(DisableResetCache,
int);
229 vtkBooleanMacro(DisableResetCache,
int);
235 void RemoveAllSources();
250 int IgnorePipelineTime;
251 int DisableResetCache;
305 virtual
void Initialize(){}
311 virtual std::vector<vtkDataSet*> GetSeedSources(
vtkInformationVector* inputVector,
int timeStep);
316 int InitializeInterpolator();
336 virtual void AssignSeedsToProcessors(
339 int &localAssignedCount);
345 virtual void AssignUniqueIds(
352 void UpdateParticleList(
364 void IntegrateParticle(
366 double currenttime,
double terminationtime,
384 bool ComputeDomainExitLocation(
385 double pos[4],
double p2[4],
double intersection[4],
405 bool InsideBounds(
double point[]);
413 double GetCacheDataTime(
int i);
414 double GetCacheDataTime();
416 virtual void ResetCache();
425 void GetPointDataArrayNames(
vtkDataSet* input, std::vector<std::string>& names);
428 vtkGetMacro(ReinjectionCounter,
int);
429 vtkGetMacro(CurrentTimeValue,
double);
459 bool SetTerminationTimeNoModify(
double t);
463 double IntegrationStep;
465 bool ComputeVorticity;
466 double RotationScale;
467 double TerminalSpeed;
470 int ReinjectionCounter;
473 int AllFixedGeometry;
477 std::vector<double> InputTimeValues;
479 double TerminationTime;
480 double CurrentTimeValue;
484 int TerminationTimeStep;
488 int ForceReinjectionEveryNSteps;
494 char *ParticleFileName;
495 int EnableParticleWriting;
512 std::vector<bounds> CachedBounds[2];
535 unsigned int NumberOfParticles();
540 static const double Epsilon;
#define VTKFILTERSFLOWPATHS_EXPORT
A helper class for interpolating between times during particle tracing.
abstract class to write particle data to file
represent and manipulate point attribute data
abstract class to specify dataset behavior
record modification and/or execution time
dynamic, self-adjusting array of float
An abstract class for obtaining the interpolated velocity values at a point.
Hold a reference to a vtkObjectBase instance.
virtual bool SendParticleToAnotherProcess(vtkParticleTracerBaseNamespace::ParticleInformation &, vtkParticleTracerBaseNamespace::ParticleInformation &, vtkPointData *)
concrete dataset represents vertices, lines, polygons, and triangle strips
ParticleVector::iterator ParticleIterator
provides thread-safe access to cells
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
virtual void AddRestartSeeds(vtkInformationVector **)
virtual void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &)
dynamic, self-adjusting array of char
dynamic, self-adjusting array of int
abstract superclass for composite (multi-block or AMR) datasets
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
abstract superclass for arrays of numeric data
virtual void InitializeExtraPointDataArrays(vtkPointData *vtkNotUsed(outputPD))
std::list< ParticleInformation > ParticleDataList
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
object to represent cell connectivity
Composite dataset that organizes datasets into blocks.
std::vector< ParticleInformation > ParticleVector
ParticleDataList::iterator ParticleListIterator
general representation of visualization data
represent and manipulate 3D points
virtual bool UpdateParticleListFromOtherProcesses()
Integrate a set of ordinary differential equations (initial value problem) in time.
A particle tracer for vector fields.
Multiprocessing communication superclass.