VTK  9.1.0
vtkAMRInterpolatedVelocityField.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAMRInterpolatedVelocityField.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
25#ifndef vtkAMRInterpolatedVelocityField_h
26#define vtkAMRInterpolatedVelocityField_h
27
28#include "vtkFiltersFlowPathsModule.h" // For export macro
29
31
33
34class VTKFILTERSFLOWPATHS_EXPORT vtkAMRInterpolatedVelocityField
36{
37public:
39
41
42 vtkGetMacro(AmrDataSet, vtkOverlappingAMR*);
44
45 bool GetLastDataSetLocation(unsigned int& level, unsigned int& id);
46
47 bool SetLastDataSet(int level, int id);
48
49 void SetLastCellId(vtkIdType c, int dataindex) override;
50
54 void SetLastCellId(vtkIdType c) override { this->Superclass::SetLastCellId(c); }
55
56 using Superclass::FunctionValues;
68 int FunctionValues(double* x, double* f) override;
69
70 void PrintSelf(ostream& os, vtkIndent indent) override;
71
72 // Descriptino:
73 // Point location routine.
74 static bool FindGrid(
75 double q[3], vtkOverlappingAMR* amrds, unsigned int& level, unsigned int& gridId);
76
77protected:
80 int LastId;
81
84 int FunctionValues(vtkDataSet* ds, double* x, double* f) override
85 {
86 return this->Superclass::FunctionValues(ds, x, f);
87 }
88
89private:
91 void operator=(const vtkAMRInterpolatedVelocityField&) = delete;
92};
93
94#endif
A concrete class for obtaining the interpolated velocity values at a point in AMR data.
bool SetLastDataSet(int level, int id)
bool GetLastDataSetLocation(unsigned int &level, unsigned int &id)
int FunctionValues(vtkDataSet *ds, double *x, double *f) override
Evaluate the velocity field f at point (x, y, z) in a specified dataset by invoking vtkDataSet::FindC...
static bool FindGrid(double q[3], vtkOverlappingAMR *amrds, unsigned int &level, unsigned int &gridId)
int FunctionValues(double *x, double *f) override
Evaluate the velocity field f at point p.
static vtkAMRInterpolatedVelocityField * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetLastCellId(vtkIdType c) override
Set the cell id cached by the last evaluation.
void SetAMRData(vtkOverlappingAMR *amr)
void SetLastCellId(vtkIdType c, int dataindex) override
Set the id of the most recently visited cell of a dataset.
An abstract class for obtaining the interpolated velocity values at a point.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
virtual int FunctionValues(double *x, double *f)
Evaluate functions at x_j.
a simple class to control print indentation
Definition: vtkIndent.h:113
hierarchical dataset of vtkUniformGrids
int vtkIdType
Definition: vtkType.h:332