VTK
dox/Graphics/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_GRAPHICS_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