|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   28 #ifndef vtkParticleTracerBase_h 
   29 #define vtkParticleTracerBase_h 
   31 #include "vtkFiltersFlowPathsModule.h"  
   67   int CachedDataSetId[2];
 
  113   void PrintParticleHistories();
 
  121   vtkGetMacro(ComputeVorticity, 
bool);
 
  122   void SetComputeVorticity(
bool);
 
  129   vtkGetMacro(TerminalSpeed, 
double);
 
  130   void SetTerminalSpeed(
double);
 
  138   vtkGetMacro(RotationScale, 
double);
 
  139   void SetRotationScale(
double);
 
  162   vtkGetMacro(ForceReinjectionEveryNSteps, 
int);
 
  163   void SetForceReinjectionEveryNSteps(
int);
 
  173   void SetTerminationTime(
double t);
 
  174   vtkGetMacro(TerminationTime, 
double);
 
  180   void SetIntegratorType(
int type);
 
  181   int GetIntegratorType();
 
  188   vtkGetMacro(StartTime, 
double);
 
  189   void SetStartTime(
double t);
 
  202   vtkSetMacro(StaticSeeds, 
int);
 
  203   vtkGetMacro(StaticSeeds, 
int);
 
  216   vtkSetMacro(StaticMesh, 
int);
 
  217   vtkGetMacro(StaticMesh, 
int);
 
  236   vtkSetStringMacro(ParticleFileName);
 
  237   vtkGetStringMacro(ParticleFileName);
 
  247   vtkBooleanMacro(EnableParticleWriting, 
vtkTypeBool);
 
  266   void RemoveAllSources();
 
  335   virtual int OutputParticles(
vtkPolyData* poly) = 0; 
 
  342   virtual std::vector<vtkDataSet*> GetSeedSources(
vtkInformationVector* inputVector, 
int timeStep);
 
  347   int InitializeInterpolator();
 
  408   bool ComputeDomainExitLocation(
 
  409     double pos[4], 
double p2[4], 
double intersection[4], 
vtkGenericCell* cell);
 
  427   bool InsideBounds(
double point[]);
 
  429   void CalculateVorticity(
 
  434   double GetCacheDataTime(
int i);
 
  435   double GetCacheDataTime();
 
  437   virtual void ResetCache();
 
  448   void GetPointDataArrayNames(
vtkDataSet* input, std::vector<std::string>& names);
 
  451   vtkGetMacro(ReinjectionCounter, 
int);
 
  452   vtkGetMacro(CurrentTimeValue, 
double);
 
  486     double delT, 
int subSteps);
 
  488   bool SetTerminationTimeNoModify(
double t);
 
  492   double IntegrationStep;
 
  494   bool ComputeVorticity;
 
  495   double RotationScale;
 
  496   double TerminalSpeed;
 
  499   int ReinjectionCounter;
 
  502   int AllFixedGeometry;
 
  506   std::vector<double> InputTimeValues;
 
  508   double TerminationTime;
 
  509   double CurrentTimeValue;
 
  514   int TerminationTimeStep; 
 
  518   int ForceReinjectionEveryNSteps;
 
  524   char* ParticleFileName;
 
  542   std::vector<bounds> CachedBounds[2];
 
  565   unsigned int NumberOfParticles();
 
  570   static const double Epsilon;
 
  
represent and manipulate 3D points
A particle tracer for vector fields.
vtkSmartPointer< vtkPolyData > Output
represent and manipulate point attribute data
virtual void InitializeExtraPointDataArrays(vtkPointData *vtkNotUsed(outputPD))
Methods to append values to existing point data arrays that may only be desired on specific concrete ...
dynamic, self-adjusting array of float
record modification and/or execution time
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkSmartPointer< vtkPointData > ParticlePointData
std::list< ParticleInformation > ParticleDataList
vtkTypeBool DisableResetCache
virtual void AddRestartSeeds(vtkInformationVector **)
For restarts of particle paths, we add in the ability to add in particles from a previous computation...
virtual void Initialize()
std::vector< ParticleInformation > ParticleVector
abstract superclass for arrays of numeric data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Composite dataset that organizes datasets into blocks.
abstract superclass for composite (multi-block or AMR) datasets
vtkParticleTracerBaseNamespace::ParticleDataList ParticleHistories
vtkIdType UniqueIdCounter
dynamic, self-adjusting array of char
vtkTypeBool IgnorePipelineTime
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
ParticleDataList::iterator ParticleListIterator
vtkSmartPointer< vtkPointData > ProtoPD
ProtoPD is used just to keep track of the input array names and number of components for copy allocat...
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Multiprocessing communication superclass.
a simple class to control print indentation
object to represent cell connectivity
dynamic, self-adjusting array of int
abstract class to write particle data to file
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
virtual bool SendParticleToAnotherProcess(vtkParticleTracerBaseNamespace::ParticleInformation &, vtkParticleTracerBaseNamespace::ParticleInformation &, vtkPointData *)
virtual void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &)
virtual bool UpdateParticleListFromOtherProcesses()
this is used during classification of seed points and also between iterations of the main loop as par...
Proxy object to connect input/output ports.
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
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Integrate a set of ordinary differential equations (initial value problem) in time.
ParticleVector::iterator ParticleIterator
general representation of visualization data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Superclass for algorithms that produce only polydata as output.