65#ifndef vtkAbstractInterpolatedVelocityField_h 
   66#define vtkAbstractInterpolatedVelocityField_h 
   68#include "vtkFiltersFlowPathsModule.h"  
   75VTK_ABI_NAMESPACE_BEGIN
 
  106    INITIALIZE_ALL_DATASETS = 1,
 
  126  vtkGetMacro(InitializationState, 
int);
 
  136  vtkSetMacro(Caching, 
bool);
 
  137  vtkGetMacro(Caching, 
bool);
 
  145  vtkGetMacro(CacheHit, 
int);
 
  146  vtkGetMacro(CacheMiss, 
int);
 
  169  vtkGetStringMacro(VectorsSelection);
 
  170  vtkGetMacro(VectorsType, 
int);
 
  197  vtkSetMacro(NormalizeVector, 
bool);
 
  198  vtkGetMacro(NormalizeVector, 
bool);
 
  207  vtkSetMacro(ForceSurfaceTangentVector, 
bool);
 
  208  vtkGetMacro(ForceSurfaceTangentVector, 
bool);
 
  215  vtkSetMacro(SurfaceDataset, 
bool);
 
  216  vtkGetMacro(SurfaceDataset, 
bool);
 
  227  using Superclass::FunctionValues;
 
  274  double LastPCoords[3];
 
  276  double LastClosestPoint[3];
 
  320  vtkSetStringMacro(VectorsSelection);
 
  359    return (this->LastCellId != -1) ? this->CurrentCell.
Get() : 
nullptr;
 
An abstract class for obtaining the interpolated velocity values at a point.
 
vtkNew< vtkGenericCell > LastCell
 
std::vector< vtkDataSetInformation >::iterator GetDataSetInfo(vtkDataSet *dataset)
Define a FindCell() strategy, keep track of the strategies (and other cached information) associated ...
 
int FunctionValues(double *x, double *f) override=0
Evaluate the velocity field f at point (x, y, z).
 
std::vector< double > Weights
 
bool ForceSurfaceTangentVector
 
static const double SURFACE_TOLERANCE_SCALE
 
virtual int FunctionValues(vtkDataSet *ds, double *x, double *f)
Evaluate the velocity field f at point (x, y, z) in a specified dataset by invoking vtkDataSet::FindC...
 
virtual int SelfInitialize()
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
 
int GetLastWeights(double *w)
Get the interpolation weights cached from last evaluation.
 
int GetLastLocalCoordinates(double pcoords[3])
Get the interpolation weights cached from last evaluation.
 
vtkAbstractInterpolatedVelocityField()
 
int InitializationState
Make sure the velocity field is initialized: record the initialization strategy.
 
size_t GetDataSetsInfoSize()
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
 
VelocityFieldInitializationState
 
virtual void Initialize(vtkCompositeDataSet *compDS, int initStrategy=INITIALIZE_ALL_DATASETS)
The Initialize() method is used to build and cache supporting structures (such as locators) which are...
 
void ClearLastCellId()
Set the last cell id to -1 to incur a global cell search for the next point.
 
virtual void SetFindCellStrategy(vtkFindCellStrategy *)
Set / get the strategy used to perform the FindCell() operation.
 
void FastCompute(vtkDataArray *vectors, double f[3])
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
 
~vtkAbstractInterpolatedVelocityField() override
 
std::vector< vtkDataSetInformation > DataSetsInfo
Define a FindCell() strategy, keep track of the strategies (and other cached information) associated ...
 
void AddToDataSetsInfo(vtkDataSet *, vtkFindCellStrategy *, vtkDataArray *vectors)
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
 
vtkFindCellStrategy * FindCellStrategy
Define a FindCell() strategy, keep track of the strategies (and other cached information) associated ...
 
bool InterpolatePoint(vtkPointData *outPD, vtkIdType outIndex)
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
 
static const double TOLERANCE_SCALE
 
vtkNew< vtkIdList > PointIds
 
bool InterpolatePoint(vtkAbstractInterpolatedVelocityField *inIVF, vtkPointData *outPD, vtkIdType outIndex)
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
 
vtkGenericCell * GetLastCell()
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
 
virtual void CopyParameters(vtkAbstractInterpolatedVelocityField *from)
Copy essential parameters between instances of this class.
 
virtual void SetLastCellId(vtkIdType c)
Get/Set the id of the cell cached from last evaluation.
 
virtual bool FindAndUpdateCell(vtkDataSet *ds, vtkFindCellStrategy *strategy, double *x)
Try to find the cell closest to provided x point in provided dataset, By first testing inclusion in i...
 
virtual void SetLastCellId(vtkIdType c, int dataindex)=0
Set the id of the most recently visited cell of a dataset.
 
vtkNew< vtkGenericCell > CurrentCell
 
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for obtaining type information and printing the object state.
 
void FastCompute(vtkAbstractInterpolatedVelocityField *inIVF, vtkDataArray *vectors, double f[3])
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
 
void SelectVectors(int fieldAssociation, const char *fieldName)
the association type (see vtkDataObject::FieldAssociations) and the name of the velocity data field
 
implement a specific vtkPointSet::FindCell() strategy based on using a cell locator
 
implement a specific vtkPointSet::FindCell() strategy based on the N closest points
 
implement a specific vtkPointSet::FindCell() strategy based on closest point
 
abstract superclass for composite (multi-block or AMR) datasets
 
abstract superclass for arrays of numeric data
 
general representation of visualization data
 
abstract class to specify dataset behavior
 
helper class to manage the vtkPointSet::FindCell() METHOD
 
Abstract interface for sets of functions.
 
provides thread-safe access to cells
 
list of point or cell ids
 
a simple class to control print indentation
 
Allocate and hold a VTK object.
 
T * Get() const noexcept
Get a raw pointer to the contained object.
 
represent and manipulate point attribute data
 
A helper class for interpolating between times during particle tracing.