Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkInterpolatedVelocityField.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkInterpolatedVelocityField.h,v $
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 =========================================================================*/
00050 #ifndef __vtkInterpolatedVelocityField_h
00051 #define __vtkInterpolatedVelocityField_h
00052 
00053 #include "vtkFunctionSet.h"
00054 
00055 class vtkDataSet;
00056 class vtkGenericCell;
00057 
00058 class vtkInterpolatedVelocityFieldDataSetsType;
00059 
00060 class VTK_FILTERING_EXPORT vtkInterpolatedVelocityField : public vtkFunctionSet
00061 {
00062 public:
00063   vtkTypeRevisionMacro(vtkInterpolatedVelocityField,vtkFunctionSet);
00064   virtual void PrintSelf(ostream& os, vtkIndent indent);
00065 
00068   static vtkInterpolatedVelocityField *New();
00069 
00072   virtual int FunctionValues(double* x, double* f);
00073 
00078   virtual void AddDataSet(vtkDataSet* dataset);
00079 
00081 
00082   vtkGetMacro(LastCellId, vtkIdType);
00083   vtkSetMacro(LastCellId, vtkIdType);
00085 
00088   void ClearLastCellId() { this->LastCellId = -1; }
00089 
00091 
00094   int GetLastWeights(double* w);
00095   int GetLastLocalCoordinates(double pcoords[3]);
00097 
00099 
00100   vtkGetMacro(Caching, int);
00101   vtkSetMacro(Caching, int);
00102   vtkBooleanMacro(Caching, int);
00104 
00106 
00107   vtkGetMacro(CacheHit, int);
00108   vtkGetMacro(CacheMiss, int);
00110 
00112 
00115   vtkGetStringMacro(VectorsSelection);
00116   void SelectVectors(const char *fieldName) 
00117     {this->SetVectorsSelection(fieldName);}
00119   
00121 
00125   vtkGetObjectMacro(LastDataSet, vtkDataSet);
00127 
00130   virtual void CopyParameters(vtkInterpolatedVelocityField* from);
00131 
00132 protected:
00133   vtkInterpolatedVelocityField();
00134   ~vtkInterpolatedVelocityField();
00135 
00136   vtkGenericCell* GenCell; // last cell
00137   vtkGenericCell* Cell;
00138   double* Weights; // last weights
00139   int WeightsSize;
00140   double LastPCoords[3]; // last local coordinates
00141   vtkIdType LastCellId;
00142   int CacheHit;
00143   int CacheMiss;
00144   int Caching;
00145 
00146   vtkDataSet* LastDataSet;
00147 
00148   vtkSetStringMacro(VectorsSelection);
00149   char *VectorsSelection;
00150 
00151   vtkInterpolatedVelocityFieldDataSetsType* DataSets;
00152 
00153   int FunctionValues(vtkDataSet* ds, double* x, double* f);
00154 
00155   static const double TOLERANCE_SCALE;
00156 
00157 private:
00158   vtkInterpolatedVelocityField(const vtkInterpolatedVelocityField&);  // Not implemented.
00159   void operator=(const vtkInterpolatedVelocityField&);  // Not implemented.
00160 };
00161 
00162 #endif
00163 
00164 
00165 
00166 
00167 
00168 
00169 
00170