VTK  9.0.1
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 
86  void SetCellLocatorPrototype(vtkAbstractCellLocator* prototype);
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
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
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...
virtual void AddDataSet(vtkDataSet *dataset)=0
Add a dataset for implicit velocity function evaluation.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
an abstract base class for locators which find cells
An abstract class for obtaining the interpolated velocity values at a point.
An abstract class for obtaining the interpolated velocity values at a point.
int vtkIdType
Definition: vtkType.h:338
virtual void CopyParameters(vtkAbstractInterpolatedVelocityField *from)
Import parameters.
a simple class to control print indentation
Definition: vtkIndent.h:33
void SetLastCellId(vtkIdType c) override
Set the cell id cached by the last evaluation.
A concrete 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).
virtual void SetLastCellId(vtkIdType c)
Get/Set the id of the cell cached from last evaluation.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...