65 #ifndef vtkAbstractInterpolatedVelocityField_h
66 #define vtkAbstractInterpolatedVelocityField_h
68 #include "vtkFiltersFlowPathsModule.h"
75 VTK_ABI_NAMESPACE_BEGIN
106 INITIALIZE_ALL_DATASETS = 1,
125 virtual void Initialize(
vtkCompositeDataSet* compDS,
int initStrategy = INITIALIZE_ALL_DATASETS);
126 vtkGetMacro(InitializationState,
int);
136 vtkSetMacro(Caching,
bool);
137 vtkGetMacro(Caching,
bool);
145 vtkGetMacro(CacheHit,
int);
146 vtkGetMacro(CacheMiss,
int);
162 virtual void SetLastCellId(
vtkIdType c,
int dataindex) = 0;
169 vtkGetStringMacro(VectorsSelection);
170 vtkGetMacro(VectorsType,
int);
177 void SelectVectors(
int fieldAssociation,
const char* fieldName);
197 vtkSetMacro(NormalizeVector,
bool);
198 vtkGetMacro(NormalizeVector,
bool);
209 vtkSetMacro(ForceSurfaceTangentVector,
bool);
210 vtkGetMacro(ForceSurfaceTangentVector,
bool);
218 vtkSetMacro(SurfaceDataset,
bool);
219 vtkGetMacro(SurfaceDataset,
bool);
230 using Superclass::FunctionValues;
246 int GetLastWeights(
double* w);
247 int GetLastLocalCoordinates(
double pcoords[3]);
277 double LastPCoords[3];
279 double LastClosestPoint[3];
316 std::vector<vtkDataSetInformation>::iterator GetDataSetInfo(
vtkDataSet* dataset);
323 vtkSetStringMacro(VectorsSelection);
362 return (this->LastCellId != -1) ? this->CurrentCell.
Get() :
nullptr;
375 size_t GetDataSetsInfoSize();
383 VTK_ABI_NAMESPACE_END
A helper class for interpolating between times during particle tracing.
represent and manipulate point attribute data
static const double TOLERANCE_SCALE
abstract class to specify dataset behavior
T * Get() const noexcept
Get a raw pointer to the contained object.
std::vector< vtkDataSetInformation > DataSetsInfo
Define a FindCell() strategy, keep track of the strategies (and other cached information) associated ...
implement a specific vtkPointSet::FindCell() strategy based on closest point
An abstract class for obtaining the interpolated velocity values at a point.
provides thread-safe access to cells
virtual int SelfInitialize()
These methods pertain to initializing the vector field by subclasses (which may have special initiali...
helper class to manage the vtkPointSet::FindCell() METHOD
vtkNew< vtkGenericCell > CurrentCell
abstract superclass for composite (multi-block or AMR) datasets
void ClearLastCellId()
Set the last cell id to -1 to incur a global cell search for the next point.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
VelocityFieldInitializationState
list of point or cell ids
abstract superclass for arrays of numeric data
vtkFindCellStrategy * FindCellStrategy
Define a FindCell() strategy, keep track of the strategies (and other cached information) associated ...
static const double SURFACE_TOLERANCE_SCALE
vtkGenericCell * GetLastCell()
If all weights have been computed (parametric coords etc all valid), a scalar/vector can be quickly i...
Abstract interface for sets of functions.
implement a specific vtkPointSet::FindCell() strategy based on the N closest points ...
virtual int FunctionValues(double *x, double *f)
Evaluate functions at x_j.
std::vector< double > Weights
bool ForceSurfaceTangentVector
virtual void SetLastCellId(vtkIdType c)
Get/Set the id of the cell cached from last evaluation.
vtkNew< vtkIdList > PointIds
int InitializationState
Make sure the velocity field is initialized: record the initialization strategy.
bool InterpolatePoint(vtkPointData *outPD1, vtkPointData *outPD2, vtkIdType outIndex)
vtkNew< vtkGenericCell > LastCell
general representation of visualization data
implement a specific vtkPointSet::FindCell() strategy based on using a cell locator ...