VTK  9.0.2
vtkCellLocatorInterpolatedVelocityField.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCellLocatorInterpolatedVelocityField.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 =========================================================================*/
49 #ifndef vtkCellLocatorInterpolatedVelocityField_h
50 #define vtkCellLocatorInterpolatedVelocityField_h
51 
53 #include "vtkFiltersFlowPathsModule.h" // For export macro
54 
56 class vtkCellLocatorInterpolatedVelocityFieldCellLocatorsType;
57 
58 class VTKFILTERSFLOWPATHS_EXPORT vtkCellLocatorInterpolatedVelocityField
60 {
61 public:
63  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
70 
72 
75  vtkGetObjectMacro(LastCellLocator, vtkAbstractCellLocator);
77 
79 
87  vtkGetObjectMacro(CellLocatorPrototype, vtkAbstractCellLocator);
89 
94 
102  void AddDataSet(vtkDataSet* dataset) override;
103 
108  int FunctionValues(double* x, double* f) override;
109 
113  void SetLastCellId(vtkIdType c, int dataindex) override;
114 
118  void SetLastCellId(vtkIdType c) override { this->Superclass::SetLastCellId(c); }
119 
120 protected:
123 
130  int FunctionValues(vtkDataSet* ds, vtkAbstractCellLocator* loc, double* x, double* f);
131 
137  int FunctionValues(vtkDataSet* ds, double* x, double* f) override
138  {
139  return this->Superclass::FunctionValues(ds, x, f);
140  }
141 
142 private:
143  vtkAbstractCellLocator* LastCellLocator;
144  vtkAbstractCellLocator* CellLocatorPrototype;
145  vtkCellLocatorInterpolatedVelocityFieldCellLocatorsType* CellLocators;
146 
148  void operator=(const vtkCellLocatorInterpolatedVelocityField&) = delete;
149 };
150 
151 #endif
an abstract base class for locators which find cells
An abstract class for obtaining the interpolated velocity values at a point.
int FunctionValues(double *x, double *f) override=0
Evaluate the velocity field f at point (x, y, z).
A concrete class for obtaining the interpolated velocity values at a point.
int FunctionValues(double *x, double *f) override
Evaluate the velocity field f at point (x, y, z).
void SetLastCellId(vtkIdType c, int dataindex) override
Set the cell id cached by the last evaluation within a specified dataset.
void AddDataSet(vtkDataSet *dataset) override
Add a dataset coupled with a cell locator (of type vtkAbstractCellLocator) for vector function evalua...
void SetCellLocatorPrototype(vtkAbstractCellLocator *prototype)
Set/Get the prototype of the cell locator that is used for interpolating the velocity field during in...
static vtkCellLocatorInterpolatedVelocityField * New()
Construct a vtkCellLocatorInterpolatedVelocityField without an initial dataset.
int FunctionValues(vtkDataSet *ds, vtkAbstractCellLocator *loc, double *x, double *f)
Evaluate the velocity field f at point (x, y, z) in a specified dataset (actually of type vtkPointSet...
void CopyParameters(vtkAbstractInterpolatedVelocityField *from) override
Import parameters.
int FunctionValues(vtkDataSet *ds, double *x, double *f) override
Evaluate the velocity field f at point (x, y, z) in a specified dataset (of type vtkImageData or vtkR...
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.
An abstract class for obtaining the interpolated velocity values at a point.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:57
a simple class to control print indentation
Definition: vtkIndent.h:34
int vtkIdType
Definition: vtkType.h:338