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;
306 virtual
void Initialize(){}
313 int InitializeInterpolator();
333 virtual void AssignSeedsToProcessors(
double time,
336 int &localAssignedCount);
342 virtual void AssignUniqueIds(
349 void UpdateParticleList(
361 void IntegrateParticle(
363 double currenttime,
double terminationtime,
381 bool ComputeDomainExitLocation(
382 double pos[4],
double p2[4],
double intersection[4],
402 bool InsideBounds(
double point[]);
410 double GetCacheDataTime(
int i);
411 double GetCacheDataTime();
413 virtual void ResetCache();
422 void GetPointDataArrayNames(
vtkDataSet* input, std::vector<std::string>& names);
425 vtkGetMacro(ReinjectionCounter,
int);
426 vtkGetMacro(CurrentTimeValue,
double);
451 bool SetTerminationTimeNoModify(
double t);
455 double IntegrationStep;
457 bool ComputeVorticity;
458 double RotationScale;
459 double TerminalSpeed;
462 int ReinjectionCounter;
465 int AllFixedGeometry;
469 std::vector<double> InputTimeValues;
471 double TerminationTime;
472 double CurrentTimeValue;
476 int TerminationTimeStep;
480 int ForceReinjectionEveryNSteps;
486 char *ParticleFileName;
487 int EnableParticleWriting;
504 std::vector<bounds> CachedBounds[2];
527 unsigned int NumberOfParticles();
532 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 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.