VTK
|
A helper class for interpolating between times during particle tracing. More...
#include <vtkTemporalInterpolatedVelocityField.h>
Public Types | |
typedef vtkFunctionSet | Superclass |
![]() | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkTemporalInterpolatedVelocityField * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetDataSetAtTime (int I, int N, double T, vtkDataSet *dataset, bool staticdataset) |
void | ClearCache () |
bool | InterpolatePoint (vtkPointData *outPD1, vtkPointData *outPD2, vtkIdType outIndex) |
bool | InterpolatePoint (int T, vtkPointData *outPD1, vtkIdType outIndex) |
bool | GetVorticityData (int T, double pcoords[3], double *weights, vtkGenericCell *&cell, vtkDoubleArray *cellVectors) |
void | ShowCacheResults () |
bool | IsStatic (int datasetIndex) |
void | AdvanceOneTimeStep () |
virtual int | FunctionValues (double *x, double *u) |
int | FunctionValuesAtT (int T, double *x, double *u) |
void | SelectVectors (const char *fieldName) |
bool | GetCachedCellIds (vtkIdType id[2], int ds[2]) |
void | SetCachedCellIds (vtkIdType id[2], int ds[2]) |
int | TestPoint (double *x) |
int | QuickTestPoint (double *x) |
virtual double * | GetLastGoodVelocity () |
virtual void | GetLastGoodVelocity (double &, double &, double &) |
virtual void | GetLastGoodVelocity (double[3]) |
virtual double | GetCurrentWeight () |
![]() | |
vtkFunctionSet * | NewInstance () const |
virtual int | GetNumberOfFunctions () |
virtual int | GetNumberOfIndependentVariables () |
![]() | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkTemporalInterpolatedVelocityField * | SafeDownCast (vtkObjectBase *o) |
static vtkTemporalInterpolatedVelocityField * | New () |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkFunctionSet * | SafeDownCast (vtkObjectBase *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkTemporalInterpolatedVelocityField () | |
~vtkTemporalInterpolatedVelocityField () | |
int | FunctionValues (vtkDataSet *ds, double *x, double *f) |
virtual void | SetVectorsSelection (const char *v) |
![]() | |
vtkFunctionSet () | |
~vtkFunctionSet () | |
![]() | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
double | Vals1 [3] |
double | Vals2 [3] |
double | Times [2] |
double | LastGoodVelocity [3] |
double | CurrentWeight |
double | OneMinusWeight |
double | ScaleCoeff |
vtkSmartPointer< vtkCachingInterpolatedVelocityField > | IVF [2] |
std::vector< bool > | StaticDataSets |
![]() | |
int | NumFuncs |
int | NumIndepVars |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
A helper class for interpolating between times during particle tracing.
vtkTemporalInterpolatedVelocityField is a general purpose helper for the temporal particle tracing code (vtkTemporalStreamTracer)
It maintains two copies of vtkCachingInterpolatedVelocityField internally and uses them to obtain velocity values at time T0 and T1.
In fact the class does quite a bit more than this because when the geometry of the datasets is the same at T0 and T1, we can re-use cached cell Ids and weights used in the cell interpolation routines. Additionally, the same weights can be used when interpolating (point) scalar values and computing vorticity etc.
Definition at line 68 of file vtkTemporalInterpolatedVelocityField.h.
Definition at line 71 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
|
protected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkFunctionSet.
|
static |
|
protectedvirtual |
Reimplemented from vtkFunctionSet.
vtkTemporalInterpolatedVelocityField* vtkTemporalInterpolatedVelocityField::NewInstance | ( | ) | const |
|
virtual |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkFunctionSet.
|
static |
Construct a vtkTemporalInterpolatedVelocityField with no initial data set. Caching is on. LastCellId is set to -1.
Evaluate the velocity field, f, at (x, y, z, t). For now, t is ignored.
Implements vtkFunctionSet.
Evaluate the velocity field, f, at (x, y, z, t). For now, t is ignored.
|
inline |
If you want to work with an arbitrary vector array, then set its name here. By default this is NULL and the filter will use the active vector array.
Definition at line 89 of file vtkTemporalInterpolatedVelocityField.h.
void vtkTemporalInterpolatedVelocityField::SetDataSetAtTime | ( | int | I, |
int | N, | ||
double | T, | ||
vtkDataSet * | dataset, | ||
bool | staticdataset | ||
) |
In order to use this class, two sets of data must be supplied, corresponding to times T1 and T2. Data is added via this function.
Between iterations of the Particle Tracer, Id's of the Cell are stored and then at the start of the next particle the Ids are set to 'pre-fill' the cache.
Between iterations of the Particle Tracer, Id's of the Cell are stored and then at the start of the next particle the Ids are set to 'pre-fill' the cache.
void vtkTemporalInterpolatedVelocityField::ClearCache | ( | ) |
Set the last cell id to -1 so that the next search does not start from the previous cell
A utility function which evaluates the point at T1, T2 to see if it is inside the data at both times or only one.
A utility function which evaluates the point at T1, T2 to see if it is inside the data at both times or only one.
|
virtual |
If an interpolation was successful, we can retrieve the last computed value from here. Initial value is (0.0,0.0,0.0)
|
virtual |
If an interpolation was successful, we can retrieve the last computed value from here. Initial value is (0.0,0.0,0.0)
|
virtual |
If an interpolation was successful, we can retrieve the last computed value from here. Initial value is (0.0,0.0,0.0)
|
virtual |
Get the most recent weight between 0->1 from T1->T2. Initial value is 0.
bool vtkTemporalInterpolatedVelocityField::InterpolatePoint | ( | vtkPointData * | outPD1, |
vtkPointData * | outPD2, | ||
vtkIdType | outIndex | ||
) |
bool vtkTemporalInterpolatedVelocityField::InterpolatePoint | ( | int | T, |
vtkPointData * | outPD1, | ||
vtkIdType | outIndex | ||
) |
bool vtkTemporalInterpolatedVelocityField::GetVorticityData | ( | int | T, |
double | pcoords[3], | ||
double * | weights, | ||
vtkGenericCell *& | cell, | ||
vtkDoubleArray * | cellVectors | ||
) |
void vtkTemporalInterpolatedVelocityField::ShowCacheResults | ( | ) |
bool vtkTemporalInterpolatedVelocityField::IsStatic | ( | int | datasetIndex | ) |
void vtkTemporalInterpolatedVelocityField::AdvanceOneTimeStep | ( | ) |
|
protected |
|
protectedvirtual |
|
protected |
Definition at line 149 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 150 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 151 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 152 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 156 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 158 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 160 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 162 of file vtkTemporalInterpolatedVelocityField.h.
|
protected |
Definition at line 164 of file vtkTemporalInterpolatedVelocityField.h.