ActiViz .NET  5.8.0
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | Static Private Member Functions
Kitware.VTK.vtkAbstractInterpolatedVelocityField Class Reference

vtkAbstractInterpolatedVelocityField - An abstract class for obtaining the interpolated velocity values at a point More...

Inheritance diagram for Kitware.VTK.vtkAbstractInterpolatedVelocityField:
[legend]
Collaboration diagram for Kitware.VTK.vtkAbstractInterpolatedVelocityField:
[legend]

List of all members.

Public Member Functions

 vtkAbstractInterpolatedVelocityField (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
virtual void AddDataSet (vtkDataSet dataset)
 Add a dataset for implicit velocity 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.
void ClearLastCellId ()
 Set the last cell id to -1 to incur a global cell search for the next point.
virtual void CopyParameters (vtkAbstractInterpolatedVelocityField from)
 Import parameters. Sub-classes can add more after chaining.
override int FunctionValues (IntPtr x, IntPtr f)
 Evaluate the velocity field f at point (x, y, z).
virtual int GetCacheHit ()
 Get the caching statistics. CacheHit refers to the number of level #0 cache hits while CacheMiss is the number of level #0 cache misses.
virtual int GetCacheMiss ()
 Get the caching statistics. CacheHit refers to the number of level #0 cache hits while CacheMiss is the number of level #0 cache misses.
virtual bool GetCaching ()
 Set/Get the caching flag. If this flag is turned ON, there are two levels of caching for derived concrete class vtkInterpolatedVelocityField and one level of caching for derived concrete class vtkCellLocatorInterpolatedVelocityField. Otherwise a global cell location is always invoked for evaluating the function values at any point.
virtual int GetLastCellId ()
 Get/Set the id of the cell cached from last evaluation.
virtual vtkDataSet GetLastDataSet ()
 Get the most recently visited dataset and it id. The dataset is used for a guess regarding where the next point will be, without searching through all datasets. When setting the last dataset, care is needed as no reference counting or checks are performed. This feature is intended for custom interpolators only that cache datasets independently.
virtual int GetLastDataSetIndex ()
 Get the most recently visited dataset and it id. The dataset is used for a guess regarding where the next point will be, without searching through all datasets. When setting the last dataset, care is needed as no reference counting or checks are performed. This feature is intended for custom interpolators only that cache datasets independently.
int GetLastLocalCoordinates (IntPtr pcoords)
 Get the interpolation weights cached from last evaluation. Return 1 if the cached cell is valid and 0 otherwise.
int GetLastWeights (IntPtr w)
 Get the interpolation weights cached from last evaluation. Return 1 if the cached cell is valid and 0 otherwise.
virtual bool GetNormalizeVector ()
 Set/Get the flag indicating vector post-normalization (following vector interpolation). Vector post-normalization is required to avoid the 'curve-overshooting' problem (caused by high velocity magnitude) that occurs when Cell-Length is used as the step size unit (particularly the Minimum step size unit). Furthermore, it is required by RK45 to achieve, as expected, high numerical accuracy (or high smoothness of flow lines) through adaptive step sizing. Note this operation is performed (when NormalizeVector TRUE) right after vector interpolation such that the differing amount of contribution of each node (of a cell) to the resulting direction of the interpolated vector, due to the possibly significantly-differing velocity magnitude values at the nodes (which is the case with large cells), can be reflected as is. Also note that this flag needs to be turned to FALSE after vtkInitialValueProblemSolver:: ComputeNextStep() as subsequent operations, e.g., vorticity computation, may need non-normalized vectors.
virtual string GetVectorsSelection ()
 Get/Set the name of a spcified vector array. By default it is NULL, with the active vector array for use.
override int IsA (string type)
 Undocumented Block.
new
vtkAbstractInterpolatedVelocityField 
NewInstance ()
 Undocumented Block.
void SelectVectors (string fieldName)
 Get/Set the name of a spcified vector array. By default it is NULL, with the active vector array for use.
virtual void SetCaching (bool _arg)
 Set/Get the caching flag. If this flag is turned ON, there are two levels of caching for derived concrete class vtkInterpolatedVelocityField and one level of caching for derived concrete class vtkCellLocatorInterpolatedVelocityField. Otherwise a global cell location is always invoked for evaluating the function values at any point.
virtual void SetLastCellId (int c)
 Get/Set the id of the cell cached from last evaluation.
virtual void SetLastCellId (int c, int dataindex)
 Set the id of the most recently visited cell of a dataset.
virtual void SetNormalizeVector (bool _arg)
 Set/Get the flag indicating vector post-normalization (following vector interpolation). Vector post-normalization is required to avoid the 'curve-overshooting' problem (caused by high velocity magnitude) that occurs when Cell-Length is used as the step size unit (particularly the Minimum step size unit). Furthermore, it is required by RK45 to achieve, as expected, high numerical accuracy (or high smoothness of flow lines) through adaptive step sizing. Note this operation is performed (when NormalizeVector TRUE) right after vector interpolation such that the differing amount of contribution of each node (of a cell) to the resulting direction of the interpolated vector, due to the possibly significantly-differing velocity magnitude values at the nodes (which is the case with large cells), can be reflected as is. Also note that this flag needs to be turned to FALSE after vtkInitialValueProblemSolver:: ComputeNextStep() as subsequent operations, e.g., vorticity computation, may need non-normalized vectors.

Static Public Member Functions

static new int IsTypeOf (string type)
 Undocumented Block.
static new
vtkAbstractInterpolatedVelocityField 
SafeDownCast (vtkObjectBase o)
 Undocumented Block.

Public Attributes

new const string MRFullTypeName = "Kitware.VTK.vtkAbstractInterpolatedVelocityField"
 Automatically generated type registration mechanics.

Static Public Attributes

static new readonly string MRClassNameKey = "36vtkAbstractInterpolatedVelocityField"
 Automatically generated type registration mechanics.

Protected Member Functions

override void Dispose (bool disposing)
 Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Private Member Functions

static internal void vtkAbstractInterpolatedVelocityField_AddDataSet_01 (HandleRef pThis, HandleRef dataset)
static internal void vtkAbstractInterpolatedVelocityField_ClearLastCellId_02 (HandleRef pThis)
static internal void vtkAbstractInterpolatedVelocityField_CopyParameters_03 (HandleRef pThis, HandleRef from)
static internal int vtkAbstractInterpolatedVelocityField_FunctionValues_04 (HandleRef pThis, IntPtr x, IntPtr f)
static internal int vtkAbstractInterpolatedVelocityField_GetCacheHit_05 (HandleRef pThis)
static internal int vtkAbstractInterpolatedVelocityField_GetCacheMiss_06 (HandleRef pThis)
static internal byte vtkAbstractInterpolatedVelocityField_GetCaching_07 (HandleRef pThis)
static internal int vtkAbstractInterpolatedVelocityField_GetLastCellId_08 (HandleRef pThis)
static internal IntPtr vtkAbstractInterpolatedVelocityField_GetLastDataSet_09 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkAbstractInterpolatedVelocityField_GetLastDataSetIndex_10 (HandleRef pThis)
static internal int vtkAbstractInterpolatedVelocityField_GetLastLocalCoordinates_11 (HandleRef pThis, IntPtr pcoords)
static internal int vtkAbstractInterpolatedVelocityField_GetLastWeights_12 (HandleRef pThis, IntPtr w)
static internal byte vtkAbstractInterpolatedVelocityField_GetNormalizeVector_13 (HandleRef pThis)
static internal IntPtr vtkAbstractInterpolatedVelocityField_GetVectorsSelection_14 (HandleRef pThis)
static internal int vtkAbstractInterpolatedVelocityField_IsA_15 (HandleRef pThis, string type)
static internal int vtkAbstractInterpolatedVelocityField_IsTypeOf_16 (string type)
static internal IntPtr vtkAbstractInterpolatedVelocityField_NewInstance_17 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal IntPtr vtkAbstractInterpolatedVelocityField_SafeDownCast_18 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkAbstractInterpolatedVelocityField_SelectVectors_19 (HandleRef pThis, string fieldName)
static internal void vtkAbstractInterpolatedVelocityField_SetCaching_20 (HandleRef pThis, byte _arg)
static internal void vtkAbstractInterpolatedVelocityField_SetLastCellId_21 (HandleRef pThis, int c)
static internal void vtkAbstractInterpolatedVelocityField_SetLastCellId_22 (HandleRef pThis, int c, int dataindex)
static internal void vtkAbstractInterpolatedVelocityField_SetNormalizeVector_23 (HandleRef pThis, byte _arg)

Static Private Member Functions

static vtkAbstractInterpolatedVelocityField ()
 Automatically generated type registration mechanics.

Detailed Description

vtkAbstractInterpolatedVelocityField - An abstract class for obtaining the interpolated velocity values at a point

Description vtkAbstractInterpolatedVelocityField acts as a continuous velocity field by performing cell interpolation on the underlying vtkDataSet. This is an abstract sub-class of vtkFunctionSet, NumberOfIndependentVariables = 4 (x,y,z,t) and NumberOfFunctions = 3 (u,v,w). With a brute-force scheme, every time an evaluation is performed, the target cell containing point (x,y,z) needs to be found by calling FindCell(), via either vtkDataSet or vtkAbstractCelllocator's sub-classes (vtkCellLocator & vtkModifiedBSPTree). As it incurs a large cost, one (for vtkCellLocatorInterpolatedVelocityField via vtkAbstractCellLocator) or two (for vtkInterpolatedVelocityField via vtkDataSet that involves vtkPointLocator in addressing vtkPointSet) levels of cell caching may be exploited to increase the performance.

For vtkInterpolatedVelocityField, level #0 begins with intra-cell caching. Specifically if the previous cell is valid and the next point is still in it ( i.e., vtkCell::EvaluatePosition() returns 1, coupled with newly created parametric coordinates & weights ), the function values can be interpolated and only vtkCell::EvaluatePosition() is invoked. If this fails, then level #1 follows by inter-cell search for the target cell that contains the next point. By an inter-cell search, the previous cell provides an important clue or serves as an immediate neighbor to aid in locating the target cell via vtkPointSet:: FindCell(). If this still fails, a global cell location / search is invoked via vtkPointSet::FindCell(). Here regardless of either inter-cell or global search, vtkPointLocator is in fact employed (for datasets of type vtkPointSet only, note vtkImageData and vtkRectilinearGrid are able to provide rapid and robust cell location due to the simple mesh topology) as a crucial tool underlying the cell locator. However, the use of vtkPointLocator makes vtkInterpolatedVelocityField non-robust in cell location for vtkPointSet.

For vtkCellLocatorInterpolatedVelocityField, the only caching (level #0) works by intra-cell trial. In case of failure, a global search for the target cell is invoked via vtkAbstractCellLocator::FindCell() and the actual work is done by either vtkCellLocator or vtkModifiedBSPTree (for datasets of type vtkPointSet only, while vtkImageData and vtkRectilinearGrid themselves are able to provide fast robust cell location). Without the involvement of vtkPointLocator, robust cell location is achieved for vtkPointSet.

Caveats vtkAbstractInterpolatedVelocityField is not thread safe. A new instance should be created by each thread.


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField ( IntPtr  rawCppThis,
bool  callDisposalMethod,
bool  strong 
)

Automatically generated constructor - called from generated code. DO NOT call directly.


Member Function Documentation

Add a dataset for implicit velocity 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.

Reimplemented in Kitware.VTK.vtkInterpolatedVelocityField, and Kitware.VTK.vtkCellLocatorInterpolatedVelocityField.

Set the last cell id to -1 to incur a global cell search for the next point.

Import parameters. Sub-classes can add more after chaining.

Reimplemented in Kitware.VTK.vtkCellLocatorInterpolatedVelocityField.

override void Kitware.VTK.vtkAbstractInterpolatedVelocityField.Dispose ( bool  disposing) [protected]

Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Reimplemented from Kitware.VTK.vtkFunctionSet.

Reimplemented in Kitware.VTK.vtkInterpolatedVelocityField, and Kitware.VTK.vtkCellLocatorInterpolatedVelocityField.

override int Kitware.VTK.vtkAbstractInterpolatedVelocityField.FunctionValues ( IntPtr  x,
IntPtr  f 
) [virtual]

Evaluate the velocity field f at point (x, y, z).

Reimplemented from Kitware.VTK.vtkFunctionSet.

Reimplemented in Kitware.VTK.vtkCellLocatorInterpolatedVelocityField, and Kitware.VTK.vtkInterpolatedVelocityField.

Get the caching statistics. CacheHit refers to the number of level #0 cache hits while CacheMiss is the number of level #0 cache misses.

Get the caching statistics. CacheHit refers to the number of level #0 cache hits while CacheMiss is the number of level #0 cache misses.

Set/Get the caching flag. If this flag is turned ON, there are two levels of caching for derived concrete class vtkInterpolatedVelocityField and one level of caching for derived concrete class vtkCellLocatorInterpolatedVelocityField. Otherwise a global cell location is always invoked for evaluating the function values at any point.

Get/Set the id of the cell cached from last evaluation.

Get the most recently visited dataset and it id. The dataset is used for a guess regarding where the next point will be, without searching through all datasets. When setting the last dataset, care is needed as no reference counting or checks are performed. This feature is intended for custom interpolators only that cache datasets independently.

Here is the call graph for this function:

Get the most recently visited dataset and it id. The dataset is used for a guess regarding where the next point will be, without searching through all datasets. When setting the last dataset, care is needed as no reference counting or checks are performed. This feature is intended for custom interpolators only that cache datasets independently.

Get the interpolation weights cached from last evaluation. Return 1 if the cached cell is valid and 0 otherwise.

Get the interpolation weights cached from last evaluation. Return 1 if the cached cell is valid and 0 otherwise.

Set/Get the flag indicating vector post-normalization (following vector interpolation). Vector post-normalization is required to avoid the 'curve-overshooting' problem (caused by high velocity magnitude) that occurs when Cell-Length is used as the step size unit (particularly the Minimum step size unit). Furthermore, it is required by RK45 to achieve, as expected, high numerical accuracy (or high smoothness of flow lines) through adaptive step sizing. Note this operation is performed (when NormalizeVector TRUE) right after vector interpolation such that the differing amount of contribution of each node (of a cell) to the resulting direction of the interpolated vector, due to the possibly significantly-differing velocity magnitude values at the nodes (which is the case with large cells), can be reflected as is. Also note that this flag needs to be turned to FALSE after vtkInitialValueProblemSolver:: ComputeNextStep() as subsequent operations, e.g., vorticity computation, may need non-normalized vectors.

Get/Set the name of a spcified vector array. By default it is NULL, with the active vector array for use.

override int Kitware.VTK.vtkAbstractInterpolatedVelocityField.IsA ( string  type) [virtual]
static new int Kitware.VTK.vtkAbstractInterpolatedVelocityField.IsTypeOf ( string  type) [static]

Undocumented Block.

Reimplemented from Kitware.VTK.vtkFunctionSet.

Reimplemented in Kitware.VTK.vtkCellLocatorInterpolatedVelocityField, and Kitware.VTK.vtkInterpolatedVelocityField.

Here is the call graph for this function:

Get/Set the name of a spcified vector array. By default it is NULL, with the active vector array for use.

virtual void Kitware.VTK.vtkAbstractInterpolatedVelocityField.SetCaching ( bool  _arg) [virtual]

Set/Get the caching flag. If this flag is turned ON, there are two levels of caching for derived concrete class vtkInterpolatedVelocityField and one level of caching for derived concrete class vtkCellLocatorInterpolatedVelocityField. Otherwise a global cell location is always invoked for evaluating the function values at any point.

Get/Set the id of the cell cached from last evaluation.

Reimplemented in Kitware.VTK.vtkCellLocatorInterpolatedVelocityField, and Kitware.VTK.vtkInterpolatedVelocityField.

virtual void Kitware.VTK.vtkAbstractInterpolatedVelocityField.SetLastCellId ( int  c,
int  dataindex 
) [virtual]

Set the id of the most recently visited cell of a dataset.

Reimplemented in Kitware.VTK.vtkCellLocatorInterpolatedVelocityField, and Kitware.VTK.vtkInterpolatedVelocityField.

Set/Get the flag indicating vector post-normalization (following vector interpolation). Vector post-normalization is required to avoid the 'curve-overshooting' problem (caused by high velocity magnitude) that occurs when Cell-Length is used as the step size unit (particularly the Minimum step size unit). Furthermore, it is required by RK45 to achieve, as expected, high numerical accuracy (or high smoothness of flow lines) through adaptive step sizing. Note this operation is performed (when NormalizeVector TRUE) right after vector interpolation such that the differing amount of contribution of each node (of a cell) to the resulting direction of the interpolated vector, due to the possibly significantly-differing velocity magnitude values at the nodes (which is the case with large cells), can be reflected as is. Also note that this flag needs to be turned to FALSE after vtkInitialValueProblemSolver:: ComputeNextStep() as subsequent operations, e.g., vorticity computation, may need non-normalized vectors.

static internal void Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_AddDataSet_01 ( HandleRef  pThis,
HandleRef  dataset 
) [private]
static internal void Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_CopyParameters_03 ( HandleRef  pThis,
HandleRef  from 
) [private]
static internal int Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_FunctionValues_04 ( HandleRef  pThis,
IntPtr  x,
IntPtr  f 
) [private]
static internal IntPtr Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_GetLastDataSet_09 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal int Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_IsA_15 ( HandleRef  pThis,
string  type 
) [private]
static internal IntPtr Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_NewInstance_17 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_SafeDownCast_18 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_SelectVectors_19 ( HandleRef  pThis,
string  fieldName 
) [private]
static internal void Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_SetCaching_20 ( HandleRef  pThis,
byte  _arg 
) [private]
static internal void Kitware.VTK.vtkAbstractInterpolatedVelocityField.vtkAbstractInterpolatedVelocityField_SetLastCellId_22 ( HandleRef  pThis,
int  c,
int  dataindex 
) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkAbstractInterpolatedVelocityField.MRClassNameKey = "36vtkAbstractInterpolatedVelocityField" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkFunctionSet.

Reimplemented in Kitware.VTK.vtkInterpolatedVelocityField, and Kitware.VTK.vtkCellLocatorInterpolatedVelocityField.

new const string Kitware.VTK.vtkAbstractInterpolatedVelocityField.MRFullTypeName = "Kitware.VTK.vtkAbstractInterpolatedVelocityField"

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkFunctionSet.

Reimplemented in Kitware.VTK.vtkInterpolatedVelocityField, and Kitware.VTK.vtkCellLocatorInterpolatedVelocityField.


The documentation for this class was generated from the following file: