VTK
|
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