VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Filters/FlowPaths/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 "vtkFiltersFlowPathsModule.h" // For export macro
00052 #include "vtkCompositeInterpolatedVelocityField.h"
00053 
00054 class vtkAbstractCellLocator;
00055 class vtkCellLocatorInterpolatedVelocityFieldCellLocatorsType;
00056 
00057 class VTKFILTERSFLOWPATHS_EXPORT vtkCellLocatorInterpolatedVelocityField : public vtkCompositeInterpolatedVelocityField
00058 {
00059 public:
00060   vtkTypeMacro( vtkCellLocatorInterpolatedVelocityField,
00061                         vtkCompositeInterpolatedVelocityField );
00062   void PrintSelf( ostream & os, vtkIndent indent );
00063 
00066   static vtkCellLocatorInterpolatedVelocityField * New();
00067 
00069 
00070   vtkGetObjectMacro( LastCellLocator, vtkAbstractCellLocator );
00072 
00074 
00076   vtkGetObjectMacro( CellLocatorPrototype, vtkAbstractCellLocator );
00078 
00081   void SetCellLocatorPrototype( vtkAbstractCellLocator * prototype );
00082 
00084   virtual void CopyParameters( vtkAbstractInterpolatedVelocityField * from );
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