|
VTK
|
A concrete class for obtaining the interpolated velocity values at a point. More...
#include <vtkInterpolatedVelocityField.h>
Inherits vtkAbstractInterpolatedVelocityField.
Public Types | |
| typedef vtkAbstractInterpolatedVelocityField | Superclass |
Public Member Functions | |
| virtual const char * | GetClassName () |
| virtual int | IsA (const char *type) |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| virtual void | AddDataSet (vtkDataSet *dataset) |
| virtual int | FunctionValues (double *x, double *f) |
| virtual void | SetLastCellId (vtkIdType c, int dataindex) |
| virtual void | SetLastCellId (vtkIdType c) |
Static Public Member Functions | |
| static int | IsTypeOf (const char *type) |
| static vtkInterpolatedVelocityField * | SafeDownCast (vtkObject *o) |
| static vtkInterpolatedVelocityField * | New () |
Protected Member Functions | |
| vtkInterpolatedVelocityField () | |
| ~vtkInterpolatedVelocityField () | |
| virtual int | FunctionValues (vtkDataSet *ds, double *x, double *f) |
A concrete class for obtaining the interpolated velocity values at a point.
vtkInterpolatedVelocityField acts as a continuous velocity field via cell interpolation on a vtkDataSet, NumberOfIndependentVariables = 4 (x,y,z,t) and NumberOfFunctions = 3 (u,v,w). As a concrete sub-class of vtkAbstractInterpolatedVelocityField, this class adopts two levels of cell caching for faster though less robust cell location than its sibling class vtkCellLocatorInterpolatedVelocityField. Level #0 begins with intra-cell caching. Specifically, if the previous cell is valid and the nex point is still within it, ( vtkCell::EvaluatePosition() returns 1, coupled with the new parametric coordinates and weights ), the function values are interpolated and vtkCell::EvaluatePosition() is invoked only. If it fails, level #1 follows by inter-cell location of the target cell (that contains the next point). By inter-cell, the previous cell gives an important clue / guess or serves as an immediate neighbor to aid in the location of the target cell (as is typically the case with integrating a streamline across cells) by means of vtkDataSet:: FindCell(). If this still fails, a global cell search is invoked via vtkDataSet::FindCell().
Regardless of inter-cell or global search, vtkPointLocator is employed as a crucial tool underlying the cell locator. The use of vtkPointLocator casues vtkInterpolatedVelocityField to return false target cells for datasets defined on complex grids.
Definition at line 58 of file vtkInterpolatedVelocityField.h.
| typedef vtkAbstractInterpolatedVelocityField vtkInterpolatedVelocityField::Superclass |
Definition at line 63 of file vtkInterpolatedVelocityField.h.
|
inlineprotected |
Definition at line 90 of file vtkInterpolatedVelocityField.h.
|
inlineprotected |
Definition at line 91 of file vtkInterpolatedVelocityField.h.
|
virtual |
|
static |
|
virtual |
|
static |
| void vtkInterpolatedVelocityField::PrintSelf | ( | ostream & | os, |
| vtkIndent | indent | ||
| ) |
|
static |
Construct a vtkInterpolatedVelocityField without an initial dataset. Caching is set on and LastCellId is set to -1.
|
virtual |
Add a dataset used for the implicit function evaluation. If more than one dataset is added, the evaluation point is searched in all until a match is found. THIS FUNCTION DOES NOT CHANGE THE REFERENCE COUNT OF DATASET FOR THREAD SAFETY REASONS.
|
virtual |
Evaluate the velocity field f at point (x, y, z).
|
virtual |
Set the cell id cached by the last evaluation within a specified dataset.
|
inlinevirtual |
Set the cell id cached by the last evaluation.
Definition at line 85 of file vtkInterpolatedVelocityField.h.
|
inlineprotectedvirtual |
Evaluate the velocity field f at point (x, y, z) in a specified dataset by either involving vtkPointLocator, via vtkPointSet::FindCell(), in locating the next cell (for datasets of type vtkPointSet) or simply invoking vtkImageData/vtkRectilinearGrid::FindCell() to fulfill the same task if the point is outside the current cell.
Definition at line 100 of file vtkInterpolatedVelocityField.h.
1.8.7