VTK
dox/Filtering/vtkCellLocatorInterpolatedVelocityField.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkCellLocatorInterpolatedVelocityField.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 =========================================================================*/
00048 #ifndef __vtkCellLocatorInterpolatedVelocityField_h
00049 #define __vtkCellLocatorInterpolatedVelocityField_h
00050 
00051 #include "vtkAbstractInterpolatedVelocityField.h"
00052 
00053 class vtkAbstractCellLocator;
00054 class vtkCellLocatorInterpolatedVelocityFieldCellLocatorsType;
00055 
00056 class VTK_FILTERING_EXPORT vtkCellLocatorInterpolatedVelocityField : public vtkAbstractInterpolatedVelocityField
00057 {
00058 public:
00059   vtkTypeMacro( vtkCellLocatorInterpolatedVelocityField,
00060                 vtkAbstractInterpolatedVelocityField );
00061   void PrintSelf( ostream & os, vtkIndent indent );
00062 
00065   static vtkCellLocatorInterpolatedVelocityField * New();
00066  
00068 
00069   vtkGetObjectMacro( LastCellLocator, vtkAbstractCellLocator );
00071   
00073 
00075   vtkGetObjectMacro( CellLocatorPrototype, vtkAbstractCellLocator );
00077   
00080   void SetCellLocatorPrototype( vtkAbstractCellLocator * prototype );
00081   
00083   virtual void CopyParameters( vtkAbstractInterpolatedVelocityField * from );
00084   
00091   virtual void AddDataSet( vtkDataSet * dataset );
00092   
00094   virtual int FunctionValues( double * x, double * f );
00095   
00098   virtual void SetLastCellId( vtkIdType c, int dataindex );
00099   
00101 
00102   virtual void SetLastCellId( vtkIdType c ) 
00103     { this->Superclass::SetLastCellId( c ); }
00105     
00106 protected:
00107   vtkCellLocatorInterpolatedVelocityField();
00108   ~vtkCellLocatorInterpolatedVelocityField();
00109  
00111 
00116   int FunctionValues( vtkDataSet * ds, vtkAbstractCellLocator * loc, 
00117                       double * x, double * f );
00119                       
00121 
00125   virtual int FunctionValues( vtkDataSet * ds, double * x, double * f )
00126     { return this->Superclass::FunctionValues( ds, x, f ); }
00128                       
00129 private:
00130   vtkAbstractCellLocator * LastCellLocator;
00131   vtkAbstractCellLocator * CellLocatorPrototype;
00132   vtkCellLocatorInterpolatedVelocityFieldCellLocatorsType * CellLocators;
00133   
00134   vtkCellLocatorInterpolatedVelocityField
00135     ( const vtkCellLocatorInterpolatedVelocityField & );  // Not implemented.
00136   void operator = ( const vtkCellLocatorInterpolatedVelocityField & );  // Not implemented.
00137 };
00138 
00139 #endif