27 #ifndef __vtkParticleTracerBase_h
28 #define __vtkParticleTracerBase_h
64 int CachedDataSetId[2];
106 void PrintParticleHistories();
111 vtkGetMacro(ComputeVorticity,
bool);
112 void SetComputeVorticity(
bool);
118 vtkGetMacro(TerminalSpeed,
double);
119 void SetTerminalSpeed(
double);
125 vtkGetMacro(RotationScale,
double);
126 void SetRotationScale(
double);
132 vtkSetMacro(IgnorePipelineTime,
int);
133 vtkGetMacro(IgnorePipelineTime,
int);
134 vtkBooleanMacro(IgnorePipelineTime,
int);
145 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
146 void SetForceReinjectionEveryNSteps(
int);
154 void SetTerminationTime(
double t);
155 vtkGetMacro(TerminationTime,
double);
159 vtkGetObjectMacro ( Integrator, vtkInitialValueProblemSolver );
161 void SetIntegratorType(
int type);
162 int GetIntegratorType();
169 vtkGetMacro(StartTime,
double);
170 void SetStartTime(
double t);
180 vtkSetMacro(StaticSeeds,
int);
181 vtkGetMacro(StaticSeeds,
int);
191 vtkSetMacro(StaticMesh,
int);
192 vtkGetMacro(StaticMesh,
int);
207 vtkSetStringMacro(ParticleFileName);
208 vtkGetStringMacro(ParticleFileName);
214 vtkSetMacro(EnableParticleWriting,
int);
215 vtkGetMacro(EnableParticleWriting,
int);
216 vtkBooleanMacro(EnableParticleWriting,
int);
222 vtkSetMacro(DisableResetCache,
int);
223 vtkGetMacro(DisableResetCache,
int);
224 vtkBooleanMacro(DisableResetCache,
int);
230 void RemoveAllSources();
240 int ReinjectionCounter;
243 int IgnorePipelineTime;
244 int DisableResetCache;
298 virtual
void Initialize(){}
305 int InitializeInterpolator();
325 virtual void AssignSeedsToProcessors(
double time,
328 int &localAssignedCount);
334 virtual void AssignUniqueIds(
341 void UpdateParticleList(
351 void IntegrateParticle(
353 double currenttime,
double terminationtime,
371 bool ComputeDomainExitLocation(
372 double pos[4],
double p2[4],
double intersection[4],
393 bool InsideBounds(
double point[]);
403 double GetCacheDataTime(
int i);
404 double GetCacheDataTime();
406 virtual void ResetCache();
436 double IntegrationStep;
438 bool ComputeVorticity;
439 double RotationScale;
440 double TerminalSpeed;
443 int AllFixedGeometry;
447 std::vector<double> InputTimeValues;
449 double TerminationTime;
454 int TerminationTimeStep;
458 int ForceReinjectionEveryNSteps;
464 char *ParticleFileName;
465 int EnableParticleWriting;
483 std::vector<bounds> CachedBounds[2];
506 unsigned int NumberOfParticles();
511 static const double Epsilon;
#define VTKFILTERSFLOWPATHS_EXPORT
A helper class for interpolating between times during particle tracing.
virtual void UpdateParticleListFromOtherProcesses()
GLboolean GLboolean GLboolean b
GLuint GLuint GLsizei GLenum type
abstract class to write particle data to file
represent and manipulate point attribute data
GLenum GLenum GLenum input
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.
GLuint GLuint GLsizei count
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
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
GLint GLint GLint GLint GLint x
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
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
Integrate a set of ordinary differential equations (initial value problem) in time.
A particle tracer for vector fields.
Multiprocessing communication superclass.