VTK
|
A particle tracer for vector fields. More...
#include <vtkParticleTracerBase.h>
A particle tracer for vector fields.
A parallel particle tracer for vector fields.
vtkParticleTracerBase is the base class for filters that advect particles in a vector field. Note that the input vtkPointData structure must be identical on all datasets.
vtkPParticleTracerBase is the base class for parallel filters that advect particles in a vector field. Note that the input vtkPointData structure must be identical on all datasets.
Definition at line 92 of file vtkParticleTracerBase.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
Definition at line 104 of file vtkParticleTracerBase.h.
Definition at line 95 of file vtkParticleTracerBase.h.
vtkParticleTracerBase::vtkParticleTracerBase | ( | ) | [protected] |
virtual vtkParticleTracerBase::~vtkParticleTracerBase | ( | ) | [protected, virtual] |
static int vtkParticleTracerBase::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
virtual int vtkParticleTracerBase::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
static vtkParticleTracerBase* vtkParticleTracerBase::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
virtual vtkObjectBase* vtkParticleTracerBase::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
void vtkParticleTracerBase::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPParticleTracerBase, vtkPParticleTracer, vtkPStreaklineFilter, vtkParticleTracer, and vtkPParticlePathFilter.
virtual bool vtkParticleTracerBase::GetComputeVorticity | ( | ) | [virtual] |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter.
void vtkParticleTracerBase::SetComputeVorticity | ( | bool | ) |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter.
virtual double vtkParticleTracerBase::GetTerminalSpeed | ( | ) | [virtual] |
Specify the terminal speed value, below which integration is terminated.
Specify the terminal speed value, below which integration is terminated.
This can be used to scale the rate with which the streamribbons twist. The default is 1.
virtual double vtkParticleTracerBase::GetRotationScale | ( | ) | [virtual] |
This can be used to scale the rate with which the streamribbons twist. The default is 1.
virtual void vtkParticleTracerBase::SetIgnorePipelineTime | ( | int | ) | [virtual] |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
virtual int vtkParticleTracerBase::GetIgnorePipelineTime | ( | ) | [virtual] |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
virtual void vtkParticleTracerBase::IgnorePipelineTimeOn | ( | ) | [virtual] |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
virtual void vtkParticleTracerBase::IgnorePipelineTimeOff | ( | ) | [virtual] |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
When animating particles, it is nice to inject new ones every Nth step to produce a continuous flow. Setting ForceReinjectionEveryNSteps to a non zero value will cause the particle source to reinject particles every Nth step even if it is otherwise unchanged. Note that if the particle source is also animated, this flag will be redundant as the particles will be reinjected whenever the source changes anyway
virtual int vtkParticleTracerBase::GetForceReinjectionEveryNSteps | ( | ) | [virtual] |
When animating particles, it is nice to inject new ones every Nth step to produce a continuous flow. Setting ForceReinjectionEveryNSteps to a non zero value will cause the particle source to reinject particles every Nth step even if it is otherwise unchanged. Note that if the particle source is also animated, this flag will be redundant as the particles will be reinjected whenever the source changes anyway
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
virtual double vtkParticleTracerBase::GetTerminationTime | ( | ) | [virtual] |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
virtual vtkInitialValueProblemSolver* vtkParticleTracerBase::GetIntegrator | ( | ) | [virtual] |
void vtkParticleTracerBase::SetIntegratorType | ( | int | type | ) |
void vtkParticleTracerBase::SetStartTime | ( | double | t | ) |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
virtual double vtkParticleTracerBase::GetStartTime | ( | ) | [virtual] |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
virtual int vtkParticleTracerBase::GetStaticSeeds | ( | ) | [virtual] |
if StaticSeeds is set and the mesh is static, then every time particles are injected we can re-use the same injection information. We classify particles according to processor just once before start. If StaticSeeds is set and a moving seed source is specified the motion will be ignored and results will not be as expected. vtkSetMacro(StaticSeeds,int);
virtual int vtkParticleTracerBase::GetStaticMesh | ( | ) | [virtual] |
if StaticMesh is set, many optimizations for cell caching can be assumed. if StaticMesh is not set, the algorithm will attempt to find out if optimizations can be used, but setting it to true will force all optimizations. Do not Set StaticMesh to true if a dynamic mesh is being used as this will invalidate all results. vtkSetMacro(StaticMesh,int);
virtual void vtkParticleTracerBase::SetParticleWriter | ( | vtkAbstractParticleWriter * | pw | ) | [virtual] |
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter should be used which will collect particles from all parallel processes and write them to a single HDF5 file.
virtual vtkAbstractParticleWriter* vtkParticleTracerBase::GetParticleWriter | ( | ) | [virtual] |
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter should be used which will collect particles from all parallel processes and write them to a single HDF5 file.
virtual void vtkParticleTracerBase::SetParticleFileName | ( | const char * | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual char* vtkParticleTracerBase::GetParticleFileName | ( | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual void vtkParticleTracerBase::SetEnableParticleWriting | ( | int | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual int vtkParticleTracerBase::GetEnableParticleWriting | ( | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual void vtkParticleTracerBase::EnableParticleWritingOn | ( | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual void vtkParticleTracerBase::EnableParticleWritingOff | ( | ) | [virtual] |
Set/Get the filename to be used with the particle writer when dumping particles to disk
virtual void vtkParticleTracerBase::SetDisableResetCache | ( | int | ) | [virtual] |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
virtual int vtkParticleTracerBase::GetDisableResetCache | ( | ) | [virtual] |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
virtual void vtkParticleTracerBase::DisableResetCacheOn | ( | ) | [virtual] |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
virtual void vtkParticleTracerBase::DisableResetCacheOff | ( | ) | [virtual] |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
void vtkParticleTracerBase::AddSourceConnection | ( | vtkAlgorithmOutput * | input | ) |
Provide support for multiple see sources
Provide support for multiple see sources
virtual int vtkParticleTracerBase::FillInputPortInformation | ( | int | port, |
vtkInformation * | info | ||
) | [protected, virtual] |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkParticleTracerBase::ProcessRequest | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
see vtkAlgorithm for details
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkParticleTracerBase::RequestInformation | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
Reimplemented from vtkPolyDataAlgorithm.
virtual int vtkParticleTracerBase::RequestUpdateExtent | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkPParticleTracerBase.
virtual int vtkParticleTracerBase::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
Reimplemented in vtkPParticleTracerBase.
virtual int vtkParticleTracerBase::ProcessInput | ( | vtkInformationVector ** | inputVector | ) | [protected, virtual] |
virtual vtkPolyData* vtkParticleTracerBase::Execute | ( | vtkInformationVector ** | inputVector | ) | [protected, virtual] |
Reimplemented in vtkPParticleTracerBase.
virtual void vtkParticleTracerBase::Initialize | ( | ) | [inline, protected, virtual] |
Definition at line 298 of file vtkParticleTracerBase.h.
virtual int vtkParticleTracerBase::OutputParticles | ( | vtkPolyData * | poly | ) | [protected, pure virtual] |
Implemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPStreaklineFilter, vtkParticleTracer, vtkPParticlePathFilter, and vtkPParticleTracer.
virtual void vtkParticleTracerBase::Finalize | ( | ) | [inline, protected, virtual] |
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPStreaklineFilter, and vtkPParticlePathFilter.
Definition at line 300 of file vtkParticleTracerBase.h.
int vtkParticleTracerBase::InitializeInterpolator | ( | ) | [protected] |
int vtkParticleTracerBase::UpdateDataCache | ( | vtkDataObject * | td | ) | [protected] |
void vtkParticleTracerBase::TestParticles | ( | vtkParticleTracerBaseNamespace::ParticleVector & | candidates, |
vtkParticleTracerBaseNamespace::ParticleVector & | passed, | ||
int & | count | ||
) | [protected] |
inside our data. Add good ones to passed list and set count to the number that passed
void vtkParticleTracerBase::TestParticles | ( | vtkParticleTracerBaseNamespace::ParticleVector & | candidates, |
std::vector< int > & | passed | ||
) | [protected] |
virtual void vtkParticleTracerBase::AssignSeedsToProcessors | ( | double | time, |
vtkDataSet * | source, | ||
int | sourceID, | ||
int | ptId, | ||
vtkParticleTracerBaseNamespace::ParticleVector & | LocalSeedPoints, | ||
int & | LocalAssignedCount | ||
) | [protected, virtual] |
all the injection/seed points according to which processor they belong to. This saves us retesting at every injection time providing 1) The volumes are static, 2) the seed points are static If either are non static, then this step is skipped.
Reimplemented in vtkPParticleTracerBase.
virtual void vtkParticleTracerBase::AssignUniqueIds | ( | vtkParticleTracerBaseNamespace::ParticleVector & | LocalSeedPoints | ) | [protected, virtual] |
give each one a uniqu ID. We need to use MPI to find out who is using which numbers.
Reimplemented in vtkPParticleTracerBase.
void vtkParticleTracerBase::UpdateParticleList | ( | vtkParticleTracerBaseNamespace::ParticleVector & | candidates | ) | [protected] |
and sending between processors, into a list, which is used as the master list on this processor
virtual void vtkParticleTracerBase::UpdateParticleListFromOtherProcesses | ( | ) | [inline, protected, virtual] |
this is used during classification of seed points and also between iterations of the main loop as particles leave each processor domain
Reimplemented in vtkPParticleTracerBase.
Definition at line 348 of file vtkParticleTracerBase.h.
void vtkParticleTracerBase::IntegrateParticle | ( | vtkParticleTracerBaseNamespace::ParticleListIterator & | it, |
double | currenttime, | ||
double | terminationtime, | ||
vtkInitialValueProblemSolver * | integrator | ||
) | [protected] |
particle between the two times supplied.
virtual bool vtkParticleTracerBase::SendParticleToAnotherProcess | ( | vtkParticleTracerBaseNamespace::ParticleInformation & | , |
vtkParticleTracerBaseNamespace::ParticleInformation & | , | ||
vtkPointData * | |||
) | [inline, protected, virtual] |
Reimplemented in vtkPParticleTracerBase.
Definition at line 360 of file vtkParticleTracerBase.h.
bool vtkParticleTracerBase::ComputeDomainExitLocation | ( | double | pos[4], |
double | p2[4], | ||
double | intersection[4], | ||
vtkGenericCell * | cell | ||
) | [protected] |
This is an old routine kept for possible future use. In dynamic meshes, particles might leave the domain and need to be extrapolated across a gap between the meshes before they re-renter another domain dodgy rotating meshes need special care....
void vtkParticleTracerBase::CreateProtoPD | ( | vtkDataObject * | input | ) | [protected] |
vtkFloatArray* vtkParticleTracerBase::GetParticleAge | ( | vtkPointData * | ) | [protected] |
vtkIntArray* vtkParticleTracerBase::GetParticleIds | ( | vtkPointData * | ) | [protected] |
vtkCharArray* vtkParticleTracerBase::GetParticleSourceIds | ( | vtkPointData * | ) | [protected] |
vtkIntArray* vtkParticleTracerBase::GetInjectedPointIds | ( | vtkPointData * | ) | [protected] |
vtkIntArray* vtkParticleTracerBase::GetInjectedStepIds | ( | vtkPointData * | ) | [protected] |
vtkIntArray* vtkParticleTracerBase::GetErrorCodeArr | ( | vtkPointData * | ) | [protected] |
vtkFloatArray* vtkParticleTracerBase::GetParticleVorticity | ( | vtkPointData * | ) | [protected] |
vtkFloatArray* vtkParticleTracerBase::GetParticleRotation | ( | vtkPointData * | ) | [protected] |
vtkFloatArray* vtkParticleTracerBase::GetParticleAngularVel | ( | vtkPointData * | ) | [protected] |
bool vtkParticleTracerBase::InsideBounds | ( | double | point[] | ) | [protected] |
void vtkParticleTracerBase::CalculateVorticity | ( | vtkGenericCell * | cell, |
double | pcoords[3], | ||
vtkDoubleArray * | cellVectors, | ||
double | vorticity[3] | ||
) | [protected] |
double vtkParticleTracerBase::GetCacheDataTime | ( | int | i | ) | [protected] |
double vtkParticleTracerBase::GetCacheDataTime | ( | ) | [protected] |
virtual void vtkParticleTracerBase::ResetCache | ( | ) | [protected, virtual] |
Reimplemented in vtkParticlePathFilter, and vtkPParticlePathFilter.
void vtkParticleTracerBase::AddParticle | ( | vtkParticleTracerBaseNamespace::ParticleInformation & | info, |
double * | velocity | ||
) | [protected] |
virtual bool vtkParticleTracerBase::IsPointDataValid | ( | vtkDataObject * | input | ) | [protected, virtual] |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
Reimplemented in vtkPParticleTracerBase.
bool vtkParticleTracerBase::IsPointDataValid | ( | vtkCompositeDataSet * | input, |
std::vector< std::string > & | arrayNames | ||
) | [protected] |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
void vtkParticleTracerBase::GetPointDataArrayNames | ( | vtkDataSet * | input, |
std::vector< std::string > & | names | ||
) | [protected] |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
friend class ParticlePathFilterInternal [friend] |
Definition at line 507 of file vtkParticleTracerBase.h.
friend class StreaklineFilterInternal [friend] |
Definition at line 508 of file vtkParticleTracerBase.h.
vtkSmartPointer<vtkPolyData> vtkParticleTracerBase::Output [protected] |
Definition at line 234 of file vtkParticleTracerBase.h.
vtkSmartPointer<vtkPointData> vtkParticleTracerBase::ProtoPD [protected] |
Definition at line 235 of file vtkParticleTracerBase.h.
vtkIdType vtkParticleTracerBase::UniqueIdCounter [protected] |
Definition at line 236 of file vtkParticleTracerBase.h.
vtkParticleTracerBaseNamespace::ParticleDataList vtkParticleTracerBase::ParticleHistories [protected] |
Definition at line 237 of file vtkParticleTracerBase.h.
Definition at line 238 of file vtkParticleTracerBase.h.
int vtkParticleTracerBase::ReinjectionCounter [protected] |
Definition at line 240 of file vtkParticleTracerBase.h.
int vtkParticleTracerBase::IgnorePipelineTime [protected] |
Definition at line 243 of file vtkParticleTracerBase.h.
int vtkParticleTracerBase::DisableResetCache [protected] |
Definition at line 244 of file vtkParticleTracerBase.h.