VTK  9.2.20221001
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 =========================================================================*/
27 #ifndef vtkAMRInterpolatedVelocityField_h
28 #define vtkAMRInterpolatedVelocityField_h
29 
30 #include "vtkFiltersFlowPathsModule.h" // For export macro
31 
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkOverlappingAMR;
36 
37 class VTKFILTERSFLOWPATHS_EXPORT vtkAMRInterpolatedVelocityField
39 {
40 public:
42 
47  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
51 
56  vtkGetObjectMacro(AmrDataSet, vtkOverlappingAMR);
57  void SetAMRData(vtkOverlappingAMR* amr) { this->SetAmrDataSet(amr); }
59 
67 
71  void SetLastCellId(vtkIdType c) override { this->Superclass::SetLastCellId(c); }
72 
84  int FunctionValues(double* x, double* f) override;
85 
89  static bool FindGrid(
90  double q[3], vtkOverlappingAMR* amrds, unsigned int& level, unsigned int& gridId);
91 
93 
96  bool GetLastDataSetLocation(unsigned int& level, unsigned int& id);
97  bool SetLastDataSet(int level, int id);
98  void SetLastCellId(vtkIdType c, int dataindex) override;
100 
101 protected:
104  int LastId;
105 
108  int FunctionValues(vtkDataSet* ds, double* x, double* f) override
109  {
110  return this->Superclass::FunctionValues(ds, x, f);
111  }
112 
119  int SelfInitialize() override;
120 
121 private:
123  void operator=(const vtkAMRInterpolatedVelocityField&) = delete;
124 };
125 
126 VTK_ABI_NAMESPACE_END
127 #endif
A concrete class for obtaining the interpolated velocity values at a point in AMR data.
bool SetLastDataSet(int level, int id)
Methods to support local caching while searching for AMR datasets.
virtual void SetAmrDataSet(vtkOverlappingAMR *)
Specify the AMR dataset to process.
bool GetLastDataSetLocation(unsigned int &level, unsigned int &id)
Methods to support local caching while searching for AMR datasets.
void CopyParameters(vtkAbstractInterpolatedVelocityField *from) override
Copy essential parameters between instances of this class.
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)
Helper function to locator the grid within an AMR dataset.
int FunctionValues(double *x, double *f) override
Evaluate the velocity field f at point p.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for obtaining type information and printing the object state.
void SetLastCellId(vtkIdType c) override
Set the cell id cached by the last evaluation.
void SetAMRData(vtkOverlappingAMR *amr)
Specify the AMR dataset to process.
static vtkAMRInterpolatedVelocityField * New()
Standard methods for obtaining type information and printing the object state.
void SetLastCellId(vtkIdType c, int dataindex) override
Methods to support local caching while searching for AMR datasets.
int SelfInitialize() override
Method to initialize the velocity field.
An abstract class for obtaining the interpolated velocity values at a point.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:174
virtual int FunctionValues(double *x, double *f)
Evaluate functions at x_j.
a simple class to control print indentation
Definition: vtkIndent.h:120
hierarchical dataset of vtkUniformGrids
@ level
Definition: vtkX3D.h:407
int vtkIdType
Definition: vtkType.h:326