66 #ifndef __vtkAbstractInterpolatedVelocityField_h
67 #define __vtkAbstractInterpolatedVelocityField_h
71 #include <vtkstd/vector>
95 vtkSetMacro( Caching,
bool );
96 vtkGetMacro( Caching,
bool );
102 vtkGetMacro( CacheHit,
int );
103 vtkGetMacro( CacheMiss,
int );
113 vtkGetMacro( LastDataSetIndex,
int );
114 vtkGetObjectMacro( LastDataSet, vtkDataSet );
124 virtual void SetLastCellId(
vtkIdType c,
int dataindex ) = 0;
129 vtkGetStringMacro( VectorsSelection );
131 { this->SetVectorsSelection( fieldName ); }
151 vtkSetMacro( NormalizeVector,
bool );
152 vtkGetMacro( NormalizeVector,
bool );
158 { this->Caching = from->
Caching; }
165 virtual void AddDataSet( vtkDataSet * dataset ) = 0;
177 int GetLastWeights(
double * w );
178 int GetLastLocalCoordinates(
double pcoords[3] );
195 double LastPCoords[3];
204 vtkSetStringMacro( VectorsSelection );
215 virtual int FunctionValues( vtkDataSet * ds,
double * x,
double * f );
218 friend class vtkTemporalInterpolatedVelocityField;
224 void FastCompute(
vtkDataArray * vectors,
double f[3] );
225 bool InterpolatePoint( vtkPointData * outPD,
vtkIdType outIndex );
227 {
return ( this->LastCellId != -1 ) ? this->GenCell : NULL; }
static const double TOLERANCE_SCALE
An abstract class for obtaining the interpolated velocity values at a point.
virtual int FunctionValues(double *x, double *f)=0
provides thread-safe access to cells
virtual void CopyParameters(vtkAbstractInterpolatedVelocityField *from)
vtkstd::vector< vtkDataSet * > DataSetsTypeBase
a simple class to control print indentation
abstract superclass for arrays of numeric data
void SelectVectors(const char *fieldName)
vtkGenericCell * GetLastCell()
Abstract interface for sets of functions.
virtual void SetLastCellId(vtkIdType c)
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkAbstractInterpolatedVelocityFieldDataSetsType * DataSets