48#ifndef vtkTemporalInterpolatedVelocityField_h
49#define vtkTemporalInterpolatedVelocityField_h
51#include "vtkFiltersFlowPathsModule.h"
57#define ID_INSIDE_ALL 00
58#define ID_OUTSIDE_ALL 01
59#define ID_OUTSIDE_T0 02
60#define ID_OUTSIDE_T1 03
81 using Superclass::FunctionValues;
96 void SelectVectors(
const char* fieldName) { this->SetVectorsSelection(fieldName); }
135 vtkGetVector3Macro(LastGoodVelocity,
double);
142 vtkGetMacro(CurrentWeight,
double);
167 double LastGoodVelocity[3];
Interface for obtaining interpolated velocity values.
abstract superclass for arrays of numeric data
abstract class to specify dataset behavior
dynamic, self-adjusting array of double
Abstract interface for sets of functions.
provides thread-safe access to cells
a simple class to control print indentation
represent and manipulate point attribute data
A helper class for interpolating between times during particle tracing.
int QuickTestPoint(double *x)
A utility function which evaluates the point at T1, T2 to see if it is inside the data at both times ...
int TestPoint(double *x)
A utility function which evaluates the point at T1, T2 to see if it is inside the data at both times ...
bool IsStatic(int datasetIndex)
bool InterpolatePoint(vtkPointData *outPD1, vtkPointData *outPD2, vtkIdType outIndex)
int FunctionValues(vtkDataSet *ds, double *x, double *f)
void SelectVectors(const char *fieldName)
If you want to work with an arbitrary vector array, then set its name here.
virtual void SetVectorsSelection(const char *v)
bool GetVorticityData(int T, double pcoords[3], double *weights, vtkGenericCell *&cell, vtkDoubleArray *cellVectors)
~vtkTemporalInterpolatedVelocityField() override
void AdvanceOneTimeStep()
bool InterpolatePoint(int T, vtkPointData *outPD1, vtkIdType outIndex)
void SetCachedCellIds(vtkIdType id[2], int ds[2])
Between iterations of the Particle Tracer, Id's of the Cell are stored and then at the start of the n...
bool GetCachedCellIds(vtkIdType id[2], int ds[2])
Between iterations of the Particle Tracer, Id's of the Cell are stored and then at the start of the n...
void SetDataSetAtTime(int I, int N, double T, vtkDataSet *dataset, bool staticdataset)
In order to use this class, two sets of data must be supplied, corresponding to times T1 and T2.
std::vector< bool > StaticDataSets
void ClearCache()
Set the last cell id to -1 so that the next search does not start from the previous cell.
int FunctionValues(double *x, double *u) override
Evaluate the velocity field, f, at (x, y, z, t).
vtkTemporalInterpolatedVelocityField()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int FunctionValuesAtT(int T, double *x, double *u)
Evaluate the velocity field, f, at (x, y, z, t).
static vtkTemporalInterpolatedVelocityField * New()
Construct a vtkTemporalInterpolatedVelocityField with no initial data set.