VTK  9.3.20240420
vtkAMRInterpolatedVelocityField.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
15#ifndef vtkAMRInterpolatedVelocityField_h
16#define vtkAMRInterpolatedVelocityField_h
17
18#include "vtkFiltersFlowPathsModule.h" // For export macro
19
21
22VTK_ABI_NAMESPACE_BEGIN
24
25class VTKFILTERSFLOWPATHS_EXPORT vtkAMRInterpolatedVelocityField
27{
28public:
30
35 void PrintSelf(ostream& os, vtkIndent indent) override;
37
39
44 vtkGetObjectMacro(AmrDataSet, vtkOverlappingAMR);
45 void SetAMRData(vtkOverlappingAMR* amr) { this->SetAmrDataSet(amr); }
47
55
59 void SetLastCellId(vtkIdType c) override { this->Superclass::SetLastCellId(c); }
60
61 using Superclass::FunctionValues;
72 int FunctionValues(double* x, double* f) override;
73
77 static bool FindGrid(
78 double q[3], vtkOverlappingAMR* amrds, unsigned int& level, unsigned int& gridId);
79
81
84 bool GetLastDataSetLocation(unsigned int& level, unsigned int& id);
85 bool SetLastDataSet(int level, int id);
86 void SetLastCellId(vtkIdType c, int dataindex) override;
88
89protected:
92 int LastId;
93
96 int FunctionValues(vtkDataSet* ds, double* x, double* f) override
97 {
98 return this->Superclass::FunctionValues(ds, x, f);
99 }
100
107 int SelfInitialize() override;
108
109private:
111 void operator=(const vtkAMRInterpolatedVelocityField&) = delete;
112};
113
114VTK_ABI_NAMESPACE_END
115#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.
static vtkAMRInterpolatedVelocityField * New()
Standard methods for obtaining type information and printing the object state.
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.
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:166
virtual int FunctionValues(double *x, double *f)
Evaluate functions at x_j.
a simple class to control print indentation
Definition vtkIndent.h:108
hierarchical dataset of vtkUniformGrids
int vtkIdType
Definition vtkType.h:315