VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAMRInterpolatedVelocityField.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00027 #ifndef vtkAMRInterpolatedVelocityField_h 00028 #define vtkAMRInterpolatedVelocityField_h 00029 00030 #include "vtkFiltersFlowPathsModule.h" // For export macro 00031 00032 #include "vtkAbstractInterpolatedVelocityField.h" 00033 00034 class vtkOverlappingAMR; 00035 00036 class VTKFILTERSFLOWPATHS_EXPORT vtkAMRInterpolatedVelocityField 00037 : public vtkAbstractInterpolatedVelocityField 00038 { 00039 public: 00040 vtkTypeMacro( vtkAMRInterpolatedVelocityField, 00041 vtkAbstractInterpolatedVelocityField ); 00042 00043 static vtkAMRInterpolatedVelocityField * New(); 00044 00045 vtkGetMacro(AmrDataSet,vtkOverlappingAMR*); 00046 void SetAMRData(vtkOverlappingAMR* amr); 00047 00048 bool GetLastDataSetLocation(unsigned int& level, unsigned int& id); 00049 00050 bool SetLastDataSet(int level, int id); 00051 00052 virtual void SetLastCellId( vtkIdType c, int dataindex ); 00053 00055 00056 virtual void SetLastCellId( vtkIdType c ) 00057 { this->Superclass::SetLastCellId( c ); } 00059 00068 virtual int FunctionValues( double * x, double * f ); 00069 00070 void PrintSelf( ostream & os, vtkIndent indent ); 00071 00072 // Descriptino: 00073 // Point location routine. 00074 static bool FindGrid(double q[3],vtkOverlappingAMR *amrds, unsigned int& level, unsigned int& gridId); 00075 00076 protected: 00077 vtkOverlappingAMR* AmrDataSet; 00078 int LastLevel; 00079 int LastId; 00080 00081 vtkAMRInterpolatedVelocityField(); 00082 ~vtkAMRInterpolatedVelocityField(); 00083 virtual int FunctionValues( vtkDataSet * ds, double * x, double * f ) 00084 { return this->Superclass::FunctionValues( ds, x, f ); } 00085 00086 private: 00087 vtkAMRInterpolatedVelocityField(const vtkAMRInterpolatedVelocityField&); //Not implemented 00088 void operator = ( const vtkAMRInterpolatedVelocityField& ); // Not implemented. 00089 00090 }; 00091 00092 #endif