Go to the documentation of this file.
27 #ifndef vtkParticleTracerBase_h
28 #define vtkParticleTracerBase_h
64 int CachedDataSetId[2];
111 void PrintParticleHistories();
117 void SetComputeVorticity(
bool);
124 void SetTerminalSpeed(
double);
131 void SetRotationScale(
double);
151 void SetForceReinjectionEveryNSteps(
int);
159 void SetTerminationTime(
double t);
166 void SetIntegratorType(
int type);
167 int GetIntegratorType();
175 void SetStartTime(
double t);
235 void RemoveAllSources();
250 int IgnorePipelineTime;
251 int DisableResetCache;
306 virtual
void Initialize(){}
336 int &localAssignedCount);
363 double currenttime,
double terminationtime,
382 double pos[4],
double p2[4],
double intersection[4],
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;
represent and manipulate 3D points
void TestParticles(vtkParticleTracerBaseNamespace::ParticleVector &candidates, std::vector< int > &passed)
void CreateProtoPD(vtkDataObject *input)
A particle tracer for vector fields.
#define vtkGetObjectMacro(name, type)
GLboolean GLboolean GLboolean b
vtkIntArray * GetParticleIds(vtkPointData *)
GLuint GLuint GLsizei count
vtkIntArray * GetInjectedPointIds(vtkPointData *)
represent and manipulate point attribute data
virtual void InitializeExtraPointDataArrays(vtkPointData *vtkNotUsed(outputPD))
vtkIntArray * GetInjectedStepIds(vtkPointData *)
dynamic, self-adjusting array of float
double GetCacheDataTime(int i)
record modification and/or execution time
bool InsideBounds(double point[])
vtkFloatArray * GetParticleAge(vtkPointData *)
#define vtkTypeMacro(thisClass, superclass)
std::list< ParticleInformation > ParticleDataList
#define VTKFILTERSFLOWPATHS_EXPORT
Hold a reference to a vtkObjectBase instance.
vtkFloatArray * GetParticleRotation(vtkPointData *)
GLint GLint GLint GLint GLint x
std::vector< ParticleInformation > ParticleVector
abstract superclass for arrays of numeric data
bool IsPointDataValid(vtkCompositeDataSet *input, std::vector< std::string > &arrayNames)
GLenum GLenum GLenum input
bool ComputeDomainExitLocation(double pos[4], double p2[4], double intersection[4], vtkGenericCell *cell)
Composite dataset that organizes datasets into blocks.
abstract superclass for composite (multi-block or AMR) datasets
virtual void AssignSeedsToProcessors(double time, vtkDataSet *source, int sourceID, int ptId, vtkParticleTracerBaseNamespace::ParticleVector &localSeedPoints, int &localAssignedCount)
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
dynamic, self-adjusting array of char
void TestParticles(vtkParticleTracerBaseNamespace::ParticleVector &candidates, vtkParticleTracerBaseNamespace::ParticleVector &passed, int &count)
void GetPointDataArrayNames(vtkDataSet *input, std::vector< std::string > &names)
ParticleDataList::iterator ParticleListIterator
vtkFloatArray * GetParticleVorticity(vtkPointData *)
vtkIntArray * GetErrorCodeArr(vtkPointData *)
Multiprocessing communication superclass.
virtual void AssignUniqueIds(vtkParticleTracerBaseNamespace::ParticleVector &localSeedPoints)
vtkTemporalInterpolatedVelocityField * GetInterpolator()
a simple class to control print indentation
object to represent cell connectivity
#define vtkSetStringMacro(name)
dynamic, self-adjusting array of int
vtkFloatArray * GetParticleAngularVel(vtkPointData *)
abstract class to write particle data to file
void CalculateVorticity(vtkGenericCell *cell, double pcoords[3], vtkDoubleArray *cellVectors, double vorticity[3])
#define vtkGetMacro(name, type)
virtual int OutputParticles(vtkPolyData *poly)=0
vtkGetStringMacro(ExtensionsString)
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkSetMacro(IgnoreDriverBugs, bool)
virtual bool SendParticleToAnotherProcess(vtkParticleTracerBaseNamespace::ParticleInformation &, vtkParticleTracerBaseNamespace::ParticleInformation &, vtkPointData *)
void UpdateParticleList(vtkParticleTracerBaseNamespace::ParticleVector &candidates)
virtual void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &)
virtual bool UpdateParticleListFromOtherProcesses()
vtkCharArray * GetParticleSourceIds(vtkPointData *)
Proxy object to connect input/output ports.
void IntegrateParticle(vtkParticleTracerBaseNamespace::ParticleListIterator &it, double currenttime, double terminationtime, vtkInitialValueProblemSolver *integrator)
A helper class for interpolating between times during particle tracing.
concrete dataset represents vertices, lines, polygons, and triangle strips
provides thread-safe access to cells
dynamic, self-adjusting array of double
int InitializeInterpolator()
virtual bool IsPointDataValid(vtkDataObject *input)
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
Integrate a set of ordinary differential equations (initial value problem) in time.
ParticleVector::iterator ParticleIterator
general representation of visualization data
double GetCacheDataTime()
GLuint GLuint GLsizei GLenum type
int UpdateDataCache(vtkDataObject *td)
void AddParticle(vtkParticleTracerBaseNamespace::ParticleInformation &info, double *velocity)
virtual void ResetCache()
Superclass for algorithms that produce only polydata as output.