VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.h
Go to the documentation of this file.
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