46 #ifndef __vtkTemporalInterpolatedVelocityField_h
47 #define __vtkTemporalInterpolatedVelocityField_h
49 #include "vtkFiltersFlowPathsModule.h"
50 #include "vtkFunctionSet.h"
51 #include "vtkSmartPointer.h"
56 #define ID_INSIDE_ALL 00
57 #define ID_OUTSIDE_ALL 01
58 #define ID_OUTSIDE_T0 02
59 #define ID_OUTSIDE_T1 03
72 virtual void PrintSelf(ostream& os, vtkIndent indent);
81 virtual int FunctionValues(
double* x,
double* u);
82 int FunctionValuesAtT(
int T,
double* x,
double* u);
90 {this->SetVectorsSelection(fieldName);}
95 void SetDataSetAtTime(
int I,
int N,
double T, vtkDataSet* dataset,
bool staticdataset);
101 bool GetCachedCellIds(vtkIdType
id[2],
int ds[2]);
102 void SetCachedCellIds(vtkIdType
id[2],
int ds[2]);
112 int TestPoint(
double* x);
113 int QuickTestPoint(
double* x);
119 vtkGetVector3Macro(LastGoodVelocity,
double);
125 vtkGetMacro(CurrentWeight,
double);
128 bool InterpolatePoint(vtkPointData *outPD1,
129 vtkPointData *outPD2, vtkIdType outIndex);
131 bool InterpolatePoint(
int T, vtkPointData *outPD1, vtkIdType outIndex);
133 bool GetVorticityData(
134 int T,
double pcoords[3],
double *weights,
135 vtkGenericCell *&cell, vtkDoubleArray *cellVectors);
137 void ShowCacheResults();
138 bool IsStatic(
int datasetIndex);
140 void AdvanceOneTimeStep();
146 int FunctionValues(vtkDataSet* ds,
double* x,
double* f);
147 virtual void SetVectorsSelection(
const char *v);
152 double LastGoodVelocity[3];
162 vtkSmartPointer<vtkCachingInterpolatedVelocityField> ivf[2];
169 virtual void AddDataSet(vtkDataSet*) {};
A helper class for interpolating between times during particle tracing.
Interface for obtaining interpolated velocity values.
std::vector< bool > StaticDataSets
void SelectVectors(const char *fieldName)