Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Common/vtkInterpolatedVelocityField.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkInterpolatedVelocityField.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00056 #ifndef __vtkInterpolatedVelocityField_h
00057 #define __vtkInterpolatedVelocityField_h
00058 
00059 #include "vtkFunctionSet.h"
00060 
00061 class vtkDataSet;
00062 class vtkGenericCell;
00063 
00064 class vtkInterpolatedVelocityFieldDataSetsType;
00065 
00066 class VTK_COMMON_EXPORT vtkInterpolatedVelocityField : public vtkFunctionSet
00067 {
00068 public:
00069   vtkTypeRevisionMacro(vtkInterpolatedVelocityField,vtkFunctionSet);
00070   virtual void PrintSelf(ostream& os, vtkIndent indent);
00071 
00074   static vtkInterpolatedVelocityField *New();
00075 
00078   virtual int FunctionValues(float* x, float* f);
00079 
00084   virtual void AddDataSet(vtkDataSet* dataset);
00085 
00087 
00088   vtkGetMacro(LastCellId, vtkIdType);
00089   vtkSetMacro(LastCellId, vtkIdType);
00091 
00094   void ClearLastCellId() { this->LastCellId = -1; }
00095 
00097 
00100   int GetLastWeights(float* w);
00101   int GetLastLocalCoordinates(float pcoords[3]);
00103 
00105 
00106   vtkGetMacro(Caching, int);
00107   vtkSetMacro(Caching, int);
00108   vtkBooleanMacro(Caching, int);
00110 
00112 
00113   vtkGetMacro(CacheHit, int);
00114   vtkGetMacro(CacheMiss, int);
00116 
00118 
00121   vtkGetStringMacro(VectorsSelection);
00122   void SelectVectors(const char *fieldName) 
00123     {this->SetVectorsSelection(fieldName);}
00125   
00127   vtkGetObjectMacro(LastDataSet, vtkDataSet);
00129 
00130 protected:
00131   vtkInterpolatedVelocityField();
00132   ~vtkInterpolatedVelocityField();
00133 
00134   vtkGenericCell* GenCell; // last cell
00135   vtkGenericCell* Cell;
00136   float* Weights; // last weights
00137   int WeightsSize;
00138   float LastPCoords[3]; // last local coordinates
00139   vtkIdType LastCellId;
00140   int CacheHit;
00141   int CacheMiss;
00142   int Caching;
00143 
00144   vtkDataSet* LastDataSet;
00145 
00146   vtkSetStringMacro(VectorsSelection);
00147   char *VectorsSelection;
00148 
00149   vtkInterpolatedVelocityFieldDataSetsType* DataSets;
00150 
00151   int FunctionValues(vtkDataSet* ds, float* x, float* f);
00152 
00153 private:
00154   vtkInterpolatedVelocityField(const vtkInterpolatedVelocityField&);  // Not implemented.
00155   void operator=(const vtkInterpolatedVelocityField&);  // Not implemented.
00156 };
00157 
00158 #endif
00159 
00160 
00161 
00162 
00163 
00164 
00165 
00166