63#ifndef vtkAbstractInterpolatedVelocityField_h
64#define vtkAbstractInterpolatedVelocityField_h
67#include "vtkFiltersFlowPathsModule.h"
74VTK_ABI_NAMESPACE_BEGIN
256 "GetFindCellStrategy() always returns nullptr. Use GetCellLocator() instead.")
368 return (this->LastCellId != -1) ? this->CurrentCell.
Get() :
nullptr;
an abstract base class for locators which find cells
std::vector< vtkDataSetInformation >::iterator GetDataSetInfo(vtkDataSet *dataset)
Define a Cell Locator to perform FindCell(), keep track of them (and other cached information) associ...
int FunctionValues(double *x, double *f) override=0
Evaluate the velocity field f at point (x, y, z).
std::vector< double > Weights
friend class vtkTemporalInterpolatedVelocityField
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...
virtual void SetCellLocator(vtkAbstractCellLocator *)
Set / get the cell locator used to perform the FindCell() operation.
virtual void Initialize(vtkCompositeDataSet *compDS, int initCellLocator=INITIALIZE_ALL_DATASETS)
The Initialize() method is used to build and cache supporting structures (such as locators) which are...
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.
void AddToDataSetsInfo(vtkDataSet *, vtkAbstractCellLocator *, vtkDataArray *vectors)
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
vtkAbstractInterpolatedVelocityField()
virtual bool FindAndUpdateCell(const vtkDataSetInformation &dsInfo, double *x)
Try to find the cell closest to provided x point in provided dataset, By first testing inclusion in i...
int InitializationState
Make sure the velocity field is initialized: record the initialization cellLocator.
size_t GetDataSetsInfoSize()
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
VelocityFieldInitializationState
@ INITIALIZE_ALL_DATASETS
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.
virtual vtkFindCellStrategy * GetFindCellStrategy()
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 Cell Locator to perform FindCell(), keep track of them (and other cached information) associ...
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 void SetLastCellId(vtkIdType c, int dataindex)=0
Set the id of the most recently visited cell of a dataset.
double LastClosestPoint[3]
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
vtkAbstractCellLocator * CellLocator
Define a Cell Locator to perform FindCell(), keep track of them (and other cached information) associ...
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
abstract class to specify dataset behavior
helper class to manage the vtkPointSet::FindCell() method
virtual int FunctionValues(double *x, double *f)
Evaluate functions at x_j.
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
#define VTK_DEPRECATED_IN_9_7_0(reason)